refactor(framework): thin-core prompt diet — cut injected contract ~53% #529
@@ -41,6 +41,7 @@ Active workstream is **W1 — Federation v1**. Workers should:
|
|||||||
3. Follow per-task agent + tier guidance from the workstream manifest
|
3. Follow per-task agent + tier guidance from the workstream manifest
|
||||||
|
|
||||||
## Thin-core prompt diet (#528) — feat/contract-thin-core
|
## Thin-core prompt diet (#528) — feat/contract-thin-core
|
||||||
|
|
||||||
- Status: PR open, awaiting maintainer merge ratification (fleet-governing change).
|
- Status: PR open, awaiting maintainer merge ratification (fleet-governing change).
|
||||||
- Cut always-injected contract AGENTS+TOOLS+RUNTIME 8,827→4,122 tok (−53%); all 12 hard gates intact.
|
- Cut always-injected contract AGENTS+TOOLS+RUNTIME 8,827→4,122 tok (−53%); all 12 hard gates intact.
|
||||||
- Validation: deterministic gate-checklist PASS; headless A/B thin 7/9 vs monolith 5/9. Detail: scratchpads/contract-thin-core.md.
|
- Validation: deterministic gate-checklist PASS; headless A/B thin 7/9 vs monolith 5/9. Detail: scratchpads/contract-thin-core.md.
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ Only interrupt the human when one of these is true:
|
|||||||
## Conditional Guide Loading (role/task-driven — load only what the task needs)
|
## Conditional Guide Loading (role/task-driven — load only what the task needs)
|
||||||
|
|
||||||
| Task | Guide |
|
| Task | Guide |
|
||||||
|---|---|
|
| -------------------------------------------------- | ---------------------------------- |
|
||||||
| Project bootstrap | `guides/BOOTSTRAP.md` |
|
| Project bootstrap | `guides/BOOTSTRAP.md` |
|
||||||
| PRD creation / requirements | `guides/PRD.md` |
|
| PRD creation / requirements | `guides/PRD.md` |
|
||||||
| Orchestration flow | `guides/ORCHESTRATOR.md` |
|
| Orchestration flow | `guides/ORCHESTRATOR.md` |
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Project-specific tooling belongs in the project's `AGENTS.md`, not here.
|
|||||||
## Suites (use wrappers first)
|
## Suites (use wrappers first)
|
||||||
|
|
||||||
| Suite | Path | Purpose |
|
| Suite | Path | Purpose |
|
||||||
|---|---|---|
|
| ---------- | ------------------------------------------------ | ------------------------------------------------------------------------ |
|
||||||
| git | `tools/git/*.sh` | issues, PRs, milestones, CI queue guard (platform-auto-detected) |
|
| git | `tools/git/*.sh` | issues, PRs, milestones, CI queue guard (platform-auto-detected) |
|
||||||
| woodpecker | `tools/woodpecker/*.sh` | CI pipelines (`-a mosaic`\|`usc`; match git remote host) |
|
| woodpecker | `tools/woodpecker/*.sh` | CI pipelines (`-a mosaic`\|`usc`; match git remote host) |
|
||||||
| portainer | `tools/portainer/*.sh` | Docker Swarm stacks (status/redeploy/list) |
|
| portainer | `tools/portainer/*.sh` | Docker Swarm stacks (status/redeploy/list) |
|
||||||
@@ -46,7 +46,7 @@ cross-project patterns). Violating this creates duplicate, divergent data.
|
|||||||
## Git Providers
|
## Git Providers
|
||||||
|
|
||||||
| Host | Instance | CI |
|
| Host | Instance | CI |
|
||||||
|---|---|---|
|
| ------------------- | ---------------- | -------------------------------- |
|
||||||
| git.mosaicstack.dev | mosaic (default) | ci.mosaicstack.dev (`-a mosaic`) |
|
| git.mosaicstack.dev | mosaic (default) | ci.mosaicstack.dev (`-a mosaic`) |
|
||||||
| git.uscllc.com | usc | ci.uscllc.com (`-a usc`) |
|
| git.uscllc.com | usc | ci.uscllc.com (`-a usc`) |
|
||||||
|
|
||||||
|
|||||||
@@ -3,27 +3,33 @@
|
|||||||
**Branch:** `feat/contract-thin-core` · **Issue:** #528 · **Mode:** Delivery
|
**Branch:** `feat/contract-thin-core` · **Issue:** #528 · **Mode:** Delivery
|
||||||
|
|
||||||
## Objective
|
## Objective
|
||||||
|
|
||||||
Cut the always-injected contract (`defaults/AGENTS.md` + `defaults/TOOLS.md` + `runtime/claude/RUNTIME.md`, inlined every turn by the launcher) without losing any hard gate. Restore the original "thin core + on-demand guides" intent.
|
Cut the always-injected contract (`defaults/AGENTS.md` + `defaults/TOOLS.md` + `runtime/claude/RUNTIME.md`, inlined every turn by the launcher) without losing any hard gate. Restore the original "thin core + on-demand guides" intent.
|
||||||
|
|
||||||
## Change
|
## Change
|
||||||
|
|
||||||
- `defaults/AGENTS.md` → thin core: 12 hard gates verbatim, 37 operating rules condensed to ~15 bullets (detail already in `guides/E2E-DELIVERY.md`), Superpowers condensed, load order made on-demand (no halt-on-missing for STANDARDS), conditional guide-loading index retained.
|
- `defaults/AGENTS.md` → thin core: 12 hard gates verbatim, 37 operating rules condensed to ~15 bullets (detail already in `guides/E2E-DELIVERY.md`), Superpowers condensed, load order made on-demand (no halt-on-missing for STANDARDS), conditional guide-loading index retained.
|
||||||
- `defaults/TOOLS.md` → index; full catalog moved to new `guides/TOOLS-REFERENCE.md` (read on demand).
|
- `defaults/TOOLS.md` → index; full catalog moved to new `guides/TOOLS-REFERENCE.md` (read on demand).
|
||||||
- `runtime/claude/RUNTIME.md` → slimmed (dedup tier table, terser pointers).
|
- `runtime/claude/RUNTIME.md` → slimmed (dedup tier table, terser pointers).
|
||||||
|
|
||||||
## Method (autoresearch-style validation)
|
## Method (autoresearch-style validation)
|
||||||
|
|
||||||
1. Built a 9-probe role battery (backend/deploy/review/orchestrate/secrets/docs/simple-trap/no-stop-at-PR/agent-work) + a deterministic 18-signature gate-checklist.
|
1. Built a 9-probe role battery (backend/deploy/review/orchestrate/secrets/docs/simple-trap/no-stop-at-PR/agent-work) + a deterministic 18-signature gate-checklist.
|
||||||
2. Headless interactive runs (Claude Max **subscription**, tmux — no API), scored by per-probe rubric.
|
2. Headless interactive runs (Claude Max **subscription**, tmux — no API), scored by per-probe rubric.
|
||||||
3. Keep-or-discard hill-climb (token cost gated by per-probe fidelity) proved the method; final design re-derived against THIS repo's content (diet-only, no drifted-deployment content imported).
|
3. Keep-or-discard hill-climb (token cost gated by per-probe fidelity) proved the method; final design re-derived against THIS repo's content (diet-only, no drifted-deployment content imported).
|
||||||
|
|
||||||
## Validation evidence
|
## Validation evidence
|
||||||
|
|
||||||
- Gate-checklist: ALL gates + critical rules + mode lines + sequential-thinking + OpenBrain + Superpowers present.
|
- Gate-checklist: ALL gates + critical rules + mode lines + sequential-thinking + OpenBrain + Superpowers present.
|
||||||
- A/B on real repo content: **thin 7/9 vs monolith 5/9** probes; strictly better on deploy/review/simple-task; composed **8,827 → 4,122 tok (−53%)**.
|
- A/B on real repo content: **thin 7/9 vs monolith 5/9** probes; strictly better on deploy/review/simple-task; composed **8,827 → 4,122 tok (−53%)**.
|
||||||
- p11 (don't-stop-at-PR): 3→2/3 on one rubric line — verified a scorer/phrasing artifact (answer correctly cites gates §5/§9 + close-issue; gate verbatim-present). Variance: thin 2/2/3, v0 3/3/3.
|
- p11 (don't-stop-at-PR): 3→2/3 on one rubric line — verified a scorer/phrasing artifact (answer correctly cites gates §5/§9 + close-issue; gate verbatim-present). Variance: thin 2/2/3, v0 3/3/3.
|
||||||
|
|
||||||
## Decisions / risks
|
## Decisions / risks
|
||||||
|
|
||||||
- **Diet-only** vs repo content (user decision). Did NOT import web1's Gate 13-15 / federated memory / OpenViking — canonical repo is behind those deployments; flagged for separate reconciliation.
|
- **Diet-only** vs repo content (user decision). Did NOT import web1's Gate 13-15 / federated memory / OpenViking — canonical repo is behind those deployments; flagged for separate reconciliation.
|
||||||
- AGENTS/TOOLS are shared across runtimes → diet benefits codex/pi/opencode too; RUNTIME change is claude-only.
|
- AGENTS/TOOLS are shared across runtimes → diet benefits codex/pi/opencode too; RUNTIME change is claude-only.
|
||||||
- p11 accepted as-is (user decision) — not gaming the rubric.
|
- p11 accepted as-is (user decision) — not gaming the rubric.
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
PR open, paused for maintainer merge ratification (fleet-governing change). `mosaic upgrade` will propagate on merge.
|
PR open, paused for maintainer merge ratification (fleet-governing change). `mosaic upgrade` will propagate on merge.
|
||||||
|
|||||||
Reference in New Issue
Block a user