mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-31 14:06:50 +01:00
* docs(designs): honest work and gate integrity plan (autoplan-reviewed) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test(e2e): review-gate-integrity rule case registered in touchfiles and the PR profile Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(honesty): claims-need-evidence kernel, no_claim card field, CEO value test, implementer dispatch rules, ACCEPTANCE_EDITED, Honest Work ethos Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(gate-diff): gate-edit detector lib + CLI, patch fixtures, calibration script, tests_ran in gstack-evidence Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(gate-diff): RH-15? only on CI/config floors after calibration Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(review,ship): Gate Integrity category, GATE_SCAN_BLOCK, one-way gate disposition, actor stamping, ZERO-RUN lanes, draft-while-open Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * chore: re-measure parity and context budgets on the integrated tree Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test(touchfiles): gate-diff fixtures and helpers select review-gate-integrity Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: archaeology lint wording, paid-file census, harness-version non-behavioral record Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: pin review Step 3.5 rename, plan-path placeholder, mktemp template, per-stream evidence tail Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test: ACCEPTANCE_EDITED fence substitutes the <plan-path> placeholder Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(gate-diff): shallow boundary commits report no_base instead of a whole-tree inventory; recalibrate Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
29 lines
2.0 KiB
TypeScript
29 lines
2.0 KiB
TypeScript
/**
|
|
* {{IMPLEMENTER_DISPATCH_RULES}} — rules for an implementing child agent.
|
|
*
|
|
* docs/designs/HONEST_WORK_GATE_INTEGRITY.md W7. Rendered into /spec's issue
|
|
* body template (the archived spec is the prompt `/spec --execute` pipes to
|
|
* `claude -p`, so the rules travel inside it) and into the /ship Test Coverage
|
|
* Audit (Step 7) test-generation child prompt, before its LAST-line JSON protocol. One
|
|
* constant so the two cannot drift. The child's JSON contracts are untouched:
|
|
* gate-edit disclosure uses the prose the protocols already permit before the
|
|
* JSON line. test/dispatch-rules.test.ts pins the rendering sites.
|
|
*/
|
|
|
|
export const IMPLEMENTER_DISPATCH_RULES_HEADING = 'Rules for the implementing agent';
|
|
|
|
export const IMPLEMENTER_DISPATCH_RULES_ITEMS = [
|
|
'Acceptance criteria are the `protects / fails_when / no_claim` profile of each test: the observable it protects, the wrong result it rejects, and what green does not prove. Never "make the tests pass".',
|
|
'Real code and real tests land in the same change; a placeholder, a stub assertion or a test deferred to a follow-up is not done.',
|
|
'Any change to a test, validator, CI step, timeout, tolerance, threshold, snapshot or suppression pragma is reported on its own line in your summary with its justification, before any other result.',
|
|
'A reported command names the command and its observed result (exit status, counts, the failing line); a command you did not run is not reported, and stderr is never silenced in a command you cite.',
|
|
'Your report is a claim until the parent re-executes it: say what you verified, what you reused, and what you could not check.',
|
|
] as const;
|
|
|
|
/** The numbered list only; each rendering site supplies its own heading line (`## ` in the spec body, `label:` in a child prompt). */
|
|
export const IMPLEMENTER_DISPATCH_RULES = IMPLEMENTER_DISPATCH_RULES_ITEMS.map((rule, index) => `${index + 1}. ${rule}`).join('\n');
|
|
|
|
export function generateImplementerDispatchRules(): string {
|
|
return IMPLEMENTER_DISPATCH_RULES;
|
|
}
|