Skip to content

Route prose report entry points through the shared launcher #892

Description

@tbhb-agent

Problem

Slice 07 of #327 connects the preflight and writer reports after the commands and shared installation contract exist. Originals are packages/agents/source/skills/fix-prose/shared/scripts/preflight.sh:24 and packages/agents/source/skills/write-prose-fix/shared/scripts/context.sh:12.

Acceptance criteria

  1. AC1: Both generated report entries preserve the caller's arguments and working-directory contract.
  2. AC2: The switched preflight reproduces the executed original summary contract.
  3. AC3: The switched writer context reproduces the executed original detailed-report contract.
  4. AC4: An absent or outdated binary produces the shared one-line nonzero launch failure without automatic fallback.
  5. AC5: One byte-identical original of each report remains directly usable through the compatibility note.
  6. AC6: The writer still runs context as its explicit permitted step.
  7. AC7: Non-functional: forwarding contains no new shell decision logic.
  8. AC8: Non-functional: canonical generation reproduces every committed deployment change.
  9. AC9: Guidance matches the minimum binary version, warning releases and supported Bash executor.
  10. AC10: Non-functional: no owner-tier path changes occur.

Scope and non-goals

This child's existing explicit retention arrangement authorizes retaining one original per report while preserving public entry paths. Non-goal: a resolver, broader permissions, configuration edits, scanner exceptions, new report behavior, hook changes or removing frozen originals. No new shell logic. Canonical sources generate the packages and deployments; generated copies are never edited by hand. No edits to shared libraries, guard scripts, merge scripts, ownership rules, workflow files or harness configuration.

Approach

Use constant forwarding invocations through #321; do not duplicate its resolver. Preserve packages/agents/source/skills/write-prose-fix/SKILL.claude.md:13 and its explicit context step at packages/agents/source/skills/write-prose-fix/SKILL.claude.md:25. Consume #889/#890's Bash-start failure outcome and distinguish it from ordinary nonzero lint status.

Replay the executed summary records (BLOCKED/0 for missing inputs, empty probe and probe error; absent-Vale failing lint PROCEED/0) and context records (evidence mismatch BLOCKED/0, partial failing-lint output, notes precedence and unavailable notices). Add complete probe/count coverage before rollout rather than infer its result. No real writer invocation is needed.

Dependencies

Blocked on: #889
Blocked on: #890
Blocked on: #891
Blocked on: #321
Blocked on: #333
Blocked on: #544
Blocked on: #753

These block rollout merge for shared-launcher, verified-binary, installation and enforcement-protection evidence. #328 completion is unnecessary because hooks remain unchanged.

Size

S. Measured report-body replacements plus their explicitly authorized frozen copies: 2 × (72 + 101) = 346 code lines before forwarding and integration changes. Counts use scc 4.1.0; generated package/deployment output and token metadata are excluded, while source, tests, fixtures and frozen copies count. One PR with fewer than 800 changed code lines and at most 2,000 prose lines. No unbuilt Go size is claimed: measure the actual staged diff before publication and split again if the cap is exceeded.

Verify plan

  • AC1, AC2, AC3, AC4, AC5, AC7: go test ./internal/agentrepo -run '^TestProseEntry' -count=1 -v runs both generated report entries against the original fixture records; include spaces, non-ASCII arguments, --, old/missing binaries and direct originals.
  • AC6: mise run test-hooks tests/skills/writers retains existing permission/explicit-step assertions without requiring authenticated probes.
  • AC8: mise run check-generated-skills and apm audit --ci follow canonical generation/deployment and metadata refresh.
  • AC9: go test ./internal/agentrepo -run '^TestProse(Preflight|Context|Entry)' -count=1 -v executes native macOS/Linux/Windows fixtures with supported Bash and absent Bash; compare guidance with git log -- docs/agent-skills-migration.md and verified release evidence.
  • AC10: git diff --name-status origin/main...HEAD checks all path kinds against .agents/agent-skills.conf:4 and .agents/agent-skills.conf:9.

At the merged head, record each AC command and result, native platform execution and any skips. Required checks must pass without weakening gates. Obtain independent review of the exact head and record findings dispositions; use signed commits with Assisted-by trailers and the provenance:agent-assisted label. Match documentation to behavior, scan issue/PR text before any later publication, and record the final merge commit and closing reference. This draft authorizes no publication.

Risks

A changed invocation can block context loading or expose detailed findings to the caller. Undo: revert this rollout and regenerate both original entry bodies; keep active workflow evidence.

Operator authority

None

Activity

  1. tbhb-agent commented on Oct 27, 2026

    @tbhb-agent
    ContributorAuthor

    Refinement: READY — Route prose report entry points through the shared launcher
    Model: gpt-6-astra

    Child 07 Route prose report entry points through the shared launcher

    Verdict: READY

    Checked: Both round 1 gaps are closed. AC4 and AC5 specify the same settled compatibility contract as 06. AC9 consumes 04/05’s executor behavior and verifies the guidance through generated entry points on all three platforms. Existing permission and explicit context invocation remain preserved at packages/agents/source/skills/write-prose-fix/SKILL.claude.md:13 and packages/agents/source/skills/write-prose-fix/SKILL.claude.md:25. The 346-line relocation baseline and 540-code-line estimate are correct.

    Gaps: None.

    Split: None required.

    Definition of done

    The definition of done for this issue (Feature). Tick each item and give its evidence.

    • D1 The author verified each AC on the merged head, and the Verification section of the pull request cites each AC ID with its evidence: the command and its result, or a link.
    • D2 An independent reviewer approved the exact merged head, and the author resolved each finding or filed it as a follow-up.
    • D3 The required checks pass on that head, and any loosened gate has the owner's approval of that exact head.
    • D4 The leak scans come back clean: gitleaks, devtools' check-leaks.sh with the repository's private-strings list, and the leak review of each post.
    • D5 The author signed each commit, the squash included.
    • D6 The docs match the change (README, docs/, CHANGELOG or help text), or the Verification section says "No doc impact" and why.
    • D7 The commits and the squash have Assisted-by trailers, and the pull request has the provenance:agent-assisted label.
    • D8 The pull request stays within the size limits, or the owner approved its exact head over the hard limit.
    • D9 The author files follow-ups and deferred findings as issues with at least a Problem and numbered AC and lists them under the Related section of the pull request. Any work left in the code links its issue.
    • D10 The merge closes the issue through a closing reference and the board shows Done. The final Status: comment names the merge commit.
    • devtools-1 mise run check is green, and so are the coverage floors mise run cover-go-check and mise run cover-py-check, which check doesn't run.
    • devtools-2 A change to skill sources under packages/agents/source/ commits what mise run generate-skills, then mise run skill-tokens, then apm install rewrite, in that order, and check-generated-skills (part of lint) passes.
    • devtools-3 A consumer-visible change (the vendored payload, a skill, a reusable workflow, a task or a pin) has its consumer steps in docs/agent-skills-migration.md or the adoption docs, or the PR's Verification says "No consumer impact" and why.

    Round: 2 of 3

  2. tbhb-agent commented on Nov 1, 2026

    @tbhb-agent
    ContributorAuthor

    Refinement: READY — Gather the prose writer’s context in Go

    Checked

    Gaps

    None.

    Split

    None required.

    Definition of done

    Planning coverage only; these items describe future evidence, not completed work.

    • D1 Verify every AC at the merged head and cite each ID with command and result — the Verify plan requires this in PR Verification.
    • D2 Obtain independent approval of the exact merged head and record finding dispositions — the plan explicitly requires both.
    • D3 Pass required checks without weakening gates — stated in the plan.
    • D4 Pass the repository leak scans and review each post before publication — both are stated in the plan.
    • D5 Sign every commit — stated in the plan.
    • D6 Match documentation to behavior — stated in the plan.
    • D7 Include Assisted-by trailers and the provenance:agent-assisted label — stated in the plan.
    • D8 Measure the final diff against the size caps — stated in the plan.
    • D9 File follow-ups as issues and list them under Related — stated in the plan.
    • D10 Close through the merge, set board Status to Done and post a final Status comment naming the merge commit — stated in the plan.

    Round: 1 of 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refinement:readyPassed the Definition of Ready; may be picked up

    Fields

    Priority

    None yet

    Work type

    None yet

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions