Skip to content

fix: make /sharpen rewrite prompts without executing tasks - #278

Merged
mdsmithaustin merged 5 commits into
mainfrom
codex/port-sharpen-729
Oct 20, 2026
Merged

mdsmithaustin merged 5 commits into
mainfrom
codex/port-sharpen-729

Conversation

@mdsmithaustin

@mdsmithaustin mdsmithaustin commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Why

/sharpen still used the older upstream prompt that performs the task. Port upstream #729 to restore its four numbered asks and rewritten-prompt output. Live testing also exposed task execution on Hermes and added implementation deliverables on Claude Code and Grok.

What changed

  • Port the skill, README, usage guides, help routing and recipe, trigger metadata, upstream marker, and guide ledger.
  • Preserve portable invocation controls and add explicit rewrite-only and original-deliverable boundaries while keeping the four upstream asks intact.
  • Record the local boundaries in PORTING.md and commit a receipt for the final runtime revision, including the earlier failures and observed coverage limits.

Scope

This covers the #729 prompt-rewrite contract and its maintained usage documentation. The historical prose audit is a separate read-only report.

Tradeoffs

The local boundary prose extends #729 because the exact upstream wording did not reliably stop execution or preserve scope across supported harnesses. PORTING.md tells future syncs to retain those boundaries.

Blast Radius

Users receive framing answers and a rewritten prompt, then decide whether to run it. The change affects /sharpen output, help routing, and their documentation.

Guide promises

Keep the stable sharpen-frames-task-before-work promise ID. Replace its obsolete claim and quotes, remove six stale guide units, classify eight replacement units, and bind its source evidence to the final scope-preserving rewrite instruction.

Verification

  • The final four-harness validation exercised 26 live CLI turns on the current runtime bytes. The committed receipt separates those observations from earlier failures and historical canonical grades. Claude's conditional model-setup question remains explicitly unverified in that sample.
  • Fresh current-run Codex smoke validation exercises all five runtime scenario groups. Prior canonical help cases passed eight of eight on unchanged help-owner bytes.
  • Staged lint, skill-ci check, ledger and whitespace checks pass. Independent documentation review passes. Current required CI and the final independent Shipping verdict are checked before merge.

✅ Low: This change only touches documentation and skill prose. It keeps the four numbered upstream asks and the stable promise id. The local rewrite boundary is recorded in PORTING.md, and the receipt's provenance claims check out against git: the skills tree equals a1cb0320 and the owner SHA-256 values match.

Updates from git push no-mistakes

@mdsmithaustin mdsmithaustin changed the title fix: make /sharpen rewrite prompts before execution fix(sharpen): port upstream prompt rewrite and usage docs Oct 20, 2026
@mdsmithaustin
mdsmithaustin marked this pull request as draft October 20, 2026 13:00
@mdsmithaustin
mdsmithaustin marked this pull request as ready for review October 20, 2026 18:38
@mdsmithaustin

Copy link
Copy Markdown
Owner Author

Author documentation-impact result: independent review required
Head: bf97cce
Diff base: 7a9a3dd
Current main context: e905e13
Patch-id: ab4e4b63ea82e5b0ac3f80a3c313646cbd374d06

Mode: author. Public workflow and documentation changed.

Prompt rewrite output, four expert asks, user choices, invocation policy, guide and help routing agree. Static metadata and guide classifications match the restored instruction. The original independent review and native runtime validation passed; current Shipping reviewer rechecks main context.

Examined paths:

  • README.md
  • docs/guide/02-poteto-mode.md
  • docs/guide/10-recipes-and-pitfalls.md
  • skills/poteto-help/SKILL.md
  • skills/poteto-help/references/recipes.md
  • skills/sharpen/SKILL.md
  • evals/promises/ledger.json
  • tools/skill-trigger-cases.json

Independent review is required and supplied separately by the Shipping verifier on this head.

@mdsmithaustin

Copy link
Copy Markdown
Owner Author

Verdict: PASS
Head: bf97cce
Patch-id: ab4e4b63ea82e5b0ac3f80a3c313646cbd374d06
Docs: pass

Independent Shipping verification by /root/ship_278, separate from the author. The assigned trail reviewer role requested gpt-6-astra at high effort. The runtime does not expose this reviewer's actual model and effort, so those observed values are unknown.

The diff base is 7a9a3ddb0118b8026f16a7820bbd0ff65db60df2. Current fetched main context is e905e13104593b9ab426ed85d229d3e6cd834cf2. The PR patch SHA-256 remains 185a20e1bcb9ca30ba1f93788499a88403c7b6ca538eef5f4a14edf247af2228, matching the prior independent documentation snapshot. The checkout is clean. Origin is unavailable on PATH, so this verification uses GitHub CLI.

The current author result is independent review required. This comment supplies a fresh independent documentation verdict of pass. I examined the skill, both guide pages, README, help route and recipe, trigger metadata, invocation policy, and ledger against their actual instructions. Users are consistently told to receive and review a rewritten prompt before executing it. The four framing asks and preserved user choices match the skill. The maintained docs contain no remaining sharpen-specific instruction to execute the original task.

The earlier independent documentation review is retained at /Users/msmith1/.codex/worktrees/sharpen-729/mds-pstack/.audit/sharpen-729/doc-review.md. It identifies a different-agent trail reviewer on gpt-6-astra at high effort and the same committed artifact. I reread it and checked its context against current main. The setup docs, port substitutions, sharpen policy, help cases, help instructions, sharpen instructions, unslop skill, and live runner are unchanged between the diff base and current main. Main's README changes affect other skill rows. Its new documentation rule about usable example paths does not invalidate the changed examples. Main's ledger changes concern the overnight guide and do not conflict with this sharpen claim.

Fresh native consumer verification used Codex CLI 0.162.0 in separate disposable parent and head projects. Each project contained the exact revision's sharpen skill and invocation policy plus the same billing notes. Both native event records confirm a read of the project skill and a completed turn with process exit 0. With the same explicit $sharpen request to write onboarding.md, the parent created that file. The head gave all four framing answers and a rewritten prompt, preserved the undecided audience and deployment target, and left onboarding.md absent. The head made only read commands. This tests the observed user behavior rather than source strings. Fresh consumer model and effort are unknown because the CLI event output did not expose them. No model override was supplied.

Fresh evidence is retained at /tmp/pstack-278-consumer/, including both replies, native event logs, fixtures, stderr, and the current GitHub state. This report is retained at /tmp/pstack-ship-278-verdict.md.

The earlier native Codex evidence in run 01M5CNXT0E1AT5BF19ADNK351A remains relevant to this unchanged head. I read the actual replies and driver for direct migration-guide rewriting, preserved database/language/hosting choices, no onboarding-file creation, and help routing to sharpen. Its command records request gpt-6.1-sol at high effort. Observed provider model and effort are not separately exposed. The original eight help-case verdict files all record this exact head and PASS across Claude Code, Codex, Hermes, and Grok. Those cases and their runner context are unchanged. This pass reuses that evidence and does not claim a new four-harness run.

Fresh checks passed. python3 -m unittest tools.test_skill_invocation_policy tools.test_skill_references ran 13 tests. python3 evals/promises/ledger.py format --check and git diff --check origin/main...HEAD exited 0. The upstream-aware ledger audit with Python 3.14.7 reported 0 problems, 940 units, 254 promises, and 24 existing deferred cases. Nonzero exit is failure for each command. Zero discovered tests would also fail the unittest check. The live check fails on a missing completed turn, missing native skill read, wrong artifact content, or the wrong onboarding-file state.

All seven reported GitHub checks are successful at this head. GitHub reports the PR mergeable and behind main. This verdict does not perform or authorize a gate bypass, rebase, or merge. It must be rechecked if the patch changes.

No blocking findings remain. The fresh direct behavior sample covers Codex only and is not a claim of universal model compliance. Prove It Works and Test Behavior, Not Implementation shaped the parent-versus-head native run. Technical-writing, unslop, and verify-commands guided the documentation and evidence review. The no-comments skill was read, but this scoped verifier was instructed not to delegate or edit source and the patch changes no application-code comments.

@mdsmithaustin
mdsmithaustin force-pushed the codex/port-sharpen-729 branch from bf97cce to 815e15c Compare October 20, 2026 19:32
@mdsmithaustin mdsmithaustin changed the title fix(sharpen): port upstream prompt rewrite and usage docs fix: make /sharpen rewrite prompts without executing tasks Oct 20, 2026
@mdsmithaustin
mdsmithaustin force-pushed the codex/port-sharpen-729 branch from 815e15c to 06c3bf5 Compare October 20, 2026 20:00
@mdsmithaustin

Copy link
Copy Markdown
Owner Author

Documentation-impact author result: independent review required
Head: 06c3bf5
Base: 5861bdd
Examined artifact: the complete final port, maintained usage/help documentation, PORTING preservation rule, ledger evidence, and final runtime receipt.

Both rewrite boundaries match the guide contract. The receipt binds the tested owner hashes, 26 retained live turns, earlier failures, eight distinct historical canonical grades, and the unverified conditional setup-question branch on Claude. Gate Document found no unresolved gaps on this head.

Independent documentation review passed at 191bf1566c3715aa6b6e46a79768e07b3a7f307c after correcting one receipt overclaim. Its patch-id remains current after the rebase: 9bdf8f20a1ac539b3a3dadaa957fd4fdaf8330dd. The only base-context additions are the PR template/config and a contributor README clause from #284; the sharpen usage context, PORTING rule, receipt and skills are unchanged. Final Shipping verification will confirm the current code and documentation verdict before merge.

Artifact SHA-256 from git diff 5861bdd55b023ea22ae4fa31c00b461d9aa33b89...06c3bf5d2a8d288d95a2c4e67ac610712972540f: 18ef37289cfe2f4199cdb42c57d66ef53f63e98a696e1efe62d447159ae9d188.

@mdsmithaustin

Copy link
Copy Markdown
Owner Author

Verdict: PASS+NOTES
Head: 06c3bf5
Patch-id: 9bdf8f20a1ac539b3a3dadaa957fd4fdaf8330dd
Docs: pass

Base: 5861bdd.

Independent Shipping review found no actionable issue in the complete 11-file patch. I did not author the change.

I drove native Codex 0.162.0 with gpt-6.1-sol at high effort through the repository adapters in fresh fixtures. Given the same fully specified executable-script request, the parent created greet.py, ran python3 greet.py, and produced Hello, world!. Head returned the four framing answers and rewritten prompt, then stopped. Its only tool operation read the installed skills, and the fixture remained unchanged. A second head request kept a migration guide as the sole deliverable, left the rollout date and TOML library choice open, used existing checks, and created no artifact. Raw replies, tool events, exact installed skill bytes, and before/after file fingerprints were retained.

Fresh whitespace, ledger audit, canonical ledger formatting, 17 static tests, and 2 invocation-policy tests passed. All seven current CI checks passed. The ledger audit reported zero problems with 943 units and 254 promises.

The author's current result requires independent documentation review. I confirmed the prior Docs PASS remains current. Its patch-id matches, the entire skills tree is unchanged, and the rebase only adds the PR template/config and an unrelated contributor README clause. Maintained usage/help docs match the rewrite-only contract. The committed runtime receipt preserves the earlier failures and distinguishes its 26 retained turns from eight earlier canonical help grades.

Notes: the receipt's conditional Now/Later setup question remains unverified for the historical Claude sample. My fresh runtime drive covered Codex; I did not repeat the other three native CLIs. The author's actual model identity is unknown, so this independent-agent review may be same-model. Source remains clean at the reviewed head. No pipeline controls, pushes, or merges were performed.

@mdsmithaustin
mdsmithaustin merged commit 9122605 into main Oct 20, 2026
7 checks passed
@mdsmithaustin
mdsmithaustin deleted the codex/port-sharpen-729 branch October 20, 2026 20:21
mdsmithaustin added a commit that referenced this pull request Oct 20, 2026
## Why

The scheduled sync runner could mark a sync complete after a live owner changed without the committed results report that `PORTING.md` requires.

## What changed

- Pin the starting commit and inspect live owners from both committed ledgers. Require an added or content-updated nonempty results report when an owner changes.
- Update PORTING to require a committed report even for partial runs and distinguish report contents from a fixed format. The guard checks presence; reviewers judge evidence quality.
- Commit the earlier #729 test receipt, label its pre-boundary samples as historical, and link the final sharpen validation from merged #278. Preserve original counts, revision pins, outcomes, and baseline.

## Scope

This enforces report presence for the scheduled runner. The upstream marker is unchanged.

## Tradeoffs

A missing report retains the unfinished attempt and blocks another attempt. Reports may record unavailable cases and explicit judgment gaps. Presence does not establish report truth, complete case coverage, or upstream prose fidelity.

## Blast Radius

Changed live owners require a new or updated committed report. Deleted owners and promises retain their baseline obligations. Static-only changes do not acquire a report obligation.

## Verification

- The current gate passed all 16 focused tests through 41 production-runner invocations using real Git and mocked external agent and forge boundaries. The old runner reproduced false completion without a report; the fixed runner refused it and retained the attempt.
- Review, Document, and Lint passed after the historical-receipt clarification. All seven GitHub checks passed on the current head. [Fresh independent Shipping review](#280 (comment)) returned PASS+NOTES and Docs pass.
- Real host scheduling, paid sync calls, and actual external publication remain undriven.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant