Research
Scaffold, Managed Skill, and Operator Follow-ups Research
Scaffold, Managed Skill, and Operator Follow-ups Research
Scope and method
Three readonly lanes inspected GitHub issues #122, #124, #125, and #126 plus the
interactive hi operator agent prompt. The lanes covered scoped prompt generation,
delivery routing and docs onboarding, the Effect recovery table corruption, and the
Harness-to-Skills-CLI adapter. No implementation or external mutation occurred during
research.
Trusted findings
Issue #122 conflicts with the currently accepted authoring contract
- The scoped prompt renderer currently requires structure-first Code Evidence,
complete skill-derived trigger rows, progressive-disclosure references, and a
Source Guide pointer
(
apps/cli/src/content/scaffold-copy.ts:145-205). The system handoff repeats that each scoped prompt spec is detailed authority (apps/cli/src/scaffold/format-summary.ts:224-233). - Focused tests lock those requirements
(
apps/cli/src/content/content.test.ts:1038-1095,apps/cli/src/scaffold/run.test.ts:693-709). - Collective Intelligence evidence commits
4cc2de068and95c306470contain the same 15 scoped prompts before and after manual compaction: 1,718 lines became 581 while skill IDs, Source Guide links, CLAUDE mirrors, validation seams, and local conventions remained present. This supports the report's outcome, but a line budget alone cannot prevent semantic restatement. - The accepted scoped-guidance spec requires the verbose detailed-authority model
(
apps/wiki/content/docs/project/specs/cli/scoped-agent-guidance-authoring-contract/SPEC.md:108-143). Therefore implementation must revise the accepted contract and generator together.
Issue #124 is a delivery-router dead end
- The canonical delivery router accepts a local agent-ready spec and then routes to
backlog (
skills/phases/delivery-phase/phases/router.md:40-45in the shared skills repository). - The next backlog phase requires verified remote retention and a stable blob URL
(
skills/phases/delivery-phase/phases/backlog.md:7-18), whilecreate-specowns that retention proof andwrite-backlogrefuses to proceed without it. - A local agent-ready spec without retention proof therefore needs spec repair, not backlog routing. The canonical router and spec completion contract need one source-first fix plus a regression contract.
Issue #125 begins with invalid canonical Markdown
- Shared source and the Harness packaged copy both contain an unescaped pipe inside
Effect.all(..., { mode: "validate" | "either" })(skills/frameworks/effect/effect-recoverable-actions/references/strategy-matrix.md:5-12in the shared repository andapps/cli/skills/frameworks/effect/effect-recoverable-actions/references/strategy-matrix.md:5-12). - GFM treats that pipe as a cell delimiter even inside a code span. Oxfmt 0.57.0 then
deterministically expands the malformed row and separator into the visible
four-column corruption. Escaping the operator as
\|preserves a valid three-column table through formatting. - Baseline assembly formats copied skills (
apps/cli/scripts/build-baseline.mjs:138-168,232-236), making semantic table validation after formatting and baseline extraction necessary. .devpunks/pre-existing-skillsis a byte snapshot of consumer state, not canonical generated authority (apps/cli/src/scaffold/skill-snapshot.ts:7-62). It must remain untouched directly.
Issue #126 is fixed only on incomplete source and projection lineages
- Shared-skills branch commit
2770ec9changes the docs-onboarding trigger and body fromhi scaffold inittohi init, but sharedorigin/mainstill carries the unsupported command. - Harness's packaged source already says
hi init, while its active.agentsmanaged projection and released v3.1.12 baseline remain stale. Completion requires landing the shared source fix, syncing by exact source ref, and refreshing managed output. - CLI command truth is two separate top-level commands
(
apps/cli/src/cli/scaffold-command.ts:33-78,210-299,apps/cli/src/cli/command-registry.ts:88-103); nestedscaffold initis rejected by catalog coverage (apps/cli/src/ui/catalog/catalog.test.ts:51-57).
Harness, not Skills CLI, asks the operator agent question
executeOperatorCommandconstructsEnter the Skills CLI agent name:before a child process starts (apps/cli/src/cli/operator-command.ts:577-585).- Harness host detection recognizes fewer Codex markers than Skills CLI. In particular,
this Codex Desktop environment exposes
CODEX_CI=1; installed Skills CLI 1.5.22 recognizes that marker, but Harness does not (apps/cli/src/integrations/operator-skill-context.ts:19-47). - Harness then passes the resolved target explicitly to
skills list,skills add, andskills remove(apps/cli/src/integrations/skills-cli.ts:703-810). This exact target is important: omitting--agentmakes list scan multiple bindings, makesadd --yestarget every detected agent or all registered agents, and makesremove --yestarget every registered agent. - The narrow safe fix is to align non-secret host-marker detection and environment
forwarding, retain
HI_OPERATOR_AGENTprecedence, and keep exact--agentchild arguments and retry identity.
Conflicts and uncertainty
- Issue #122 cannot be treated as a local renderer defect without superseding the accepted verbose scoped-guidance requirement. The user request supplies direction to make prompt specs concise, but the revised spec must record that decision.
- The exact dirty consumer bytes reported by issue #125 cannot be reconstructed from
commit
6875d05a; committed source and formatter behavior prove the defect chain. - Skills CLI 1.5.22 source proves the no-agent behavior. Harness permits 1.5.20 and the
marker set for 1.5.20-1.5.21 was not independently inspected. Exact
--agentremains valid across the supported contract.
Implementation boundary
- Land shared source fixes for #124, #125, and #126 with semantic contract tests.
- Sync that exact shared-skills ref into Harness; never hand-edit managed skill copies as source.
- Revise the accepted #122 spec and compact the prompt generator while retaining repository invariants, exact skill IDs and terse triggers, Source Guide links, mirrors, and validation seams.
- Align Harness operator host-marker detection and safe environment forwarding while preserving exact-agent Skills CLI argv.
- Refresh managed fixtures/projections and validate formatter, baseline archive, and
isolated consumer behavior. Baseline authority remains externally unavailable, so
supported control-plane
hi check --jsonproof must be retried later and cannot be replaced by local drift claims.