codex-orchestrator 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -426
- package/README.md +135 -34
- package/dist/src/index.d.ts +11 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/acceptance-proof.d.ts +3 -0
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
- package/dist/src/v2/acceptance-proof.js +2 -8
- package/dist/src/v2/acceptance-proof.js.map +1 -1
- package/dist/src/v2/adapters/gh-issue-adapter.d.ts +5 -3
- package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -1
- package/dist/src/v2/adapters/gh-issue-adapter.js +67 -12
- package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -1
- package/dist/src/v2/adapters/issues.d.ts +16 -2
- package/dist/src/v2/adapters/issues.d.ts.map +1 -1
- package/dist/src/v2/adapters/issues.js +15 -5
- package/dist/src/v2/adapters/issues.js.map +1 -1
- package/dist/src/v2/adapters/mission-coordinator-lock.d.ts +1 -0
- package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -1
- package/dist/src/v2/adapters/mission-coordinator-lock.js +5 -1
- package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -1
- package/dist/src/v2/cli-contract.d.ts +3 -3
- package/dist/src/v2/cli-contract.d.ts.map +1 -1
- package/dist/src/v2/cli-contract.js +9 -1
- package/dist/src/v2/cli-contract.js.map +1 -1
- package/dist/src/v2/cli.d.ts +24 -0
- package/dist/src/v2/cli.d.ts.map +1 -0
- package/dist/src/v2/{candidate-cli.js → cli.js} +30 -26
- package/dist/src/v2/cli.js.map +1 -0
- package/dist/src/v2/code-review-report.d.ts +66 -0
- package/dist/src/v2/code-review-report.d.ts.map +1 -0
- package/dist/src/v2/code-review-report.js +259 -0
- package/dist/src/v2/code-review-report.js.map +1 -0
- package/dist/src/v2/codex-process.d.ts +8 -1
- package/dist/src/v2/codex-process.d.ts.map +1 -1
- package/dist/src/v2/codex-process.js +22 -0
- package/dist/src/v2/codex-process.js.map +1 -1
- package/dist/src/v2/config.d.ts +4 -3
- package/dist/src/v2/config.d.ts.map +1 -1
- package/dist/src/v2/config.js +8 -3
- package/dist/src/v2/config.js.map +1 -1
- package/dist/src/v2/contained-report-operation.d.ts +100 -0
- package/dist/src/v2/contained-report-operation.d.ts.map +1 -0
- package/dist/src/v2/contained-report-operation.js +200 -0
- package/dist/src/v2/contained-report-operation.js.map +1 -0
- package/dist/src/v2/containment.d.ts +10 -0
- package/dist/src/v2/containment.d.ts.map +1 -1
- package/dist/src/v2/containment.js +49 -1
- package/dist/src/v2/containment.js.map +1 -1
- package/dist/src/v2/direct-delivery.d.ts +96 -0
- package/dist/src/v2/direct-delivery.d.ts.map +1 -0
- package/dist/src/v2/direct-delivery.js +482 -0
- package/dist/src/v2/direct-delivery.js.map +1 -0
- package/dist/src/v2/immutable-workflow-publisher.d.ts +40 -0
- package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -0
- package/dist/src/v2/immutable-workflow-publisher.js +218 -0
- package/dist/src/v2/immutable-workflow-publisher.js.map +1 -0
- package/dist/src/v2/implementation-reviewer.d.ts +81 -0
- package/dist/src/v2/implementation-reviewer.d.ts.map +1 -0
- package/dist/src/v2/implementation-reviewer.js +157 -0
- package/dist/src/v2/implementation-reviewer.js.map +1 -0
- package/dist/src/v2/owner-control-lock.d.ts +41 -0
- package/dist/src/v2/owner-control-lock.d.ts.map +1 -0
- package/dist/src/v2/owner-control-lock.js +174 -0
- package/dist/src/v2/owner-control-lock.js.map +1 -0
- package/dist/src/v2/proof-report.d.ts.map +1 -1
- package/dist/src/v2/proof-report.js +55 -29
- package/dist/src/v2/proof-report.js.map +1 -1
- package/dist/src/v2/route-continuations.d.ts +32 -0
- package/dist/src/v2/route-continuations.d.ts.map +1 -0
- package/dist/src/v2/route-continuations.js +2 -0
- package/dist/src/v2/route-continuations.js.map +1 -0
- package/dist/src/v2/route-coordinator.d.ts +77 -0
- package/dist/src/v2/route-coordinator.d.ts.map +1 -0
- package/dist/src/v2/route-coordinator.js +370 -0
- package/dist/src/v2/route-coordinator.js.map +1 -0
- package/dist/src/v2/route-decision.d.ts +129 -0
- package/dist/src/v2/route-decision.d.ts.map +1 -0
- package/dist/src/v2/route-decision.js +400 -0
- package/dist/src/v2/route-decision.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +64 -6
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +962 -92
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-store.d.ts +25 -1
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +129 -4
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime-assets.d.ts +15 -13
- package/dist/src/v2/runtime-assets.d.ts.map +1 -1
- package/dist/src/v2/runtime-assets.js +263 -416
- package/dist/src/v2/runtime-assets.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +17 -9
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +564 -64
- package/dist/src/v2/runtime.js.map +1 -1
- package/dist/src/v2/setup-cli.d.ts.map +1 -1
- package/dist/src/v2/setup-cli.js +4 -10
- package/dist/src/v2/setup-cli.js.map +1 -1
- package/dist/src/v2/setup-runtime.d.ts.map +1 -1
- package/dist/src/v2/setup-runtime.js +19 -131
- package/dist/src/v2/setup-runtime.js.map +1 -1
- package/dist/src/v2/setup-store.d.ts +0 -5
- package/dist/src/v2/setup-store.d.ts.map +1 -1
- package/dist/src/v2/setup-store.js +3 -106
- package/dist/src/v2/setup-store.js.map +1 -1
- package/dist/src/v2/setup.d.ts +6 -43
- package/dist/src/v2/setup.d.ts.map +1 -1
- package/dist/src/v2/setup.js +13 -192
- package/dist/src/v2/setup.js.map +1 -1
- package/dist/src/v2/spec-coordinator.d.ts +85 -0
- package/dist/src/v2/spec-coordinator.d.ts.map +1 -0
- package/dist/src/v2/spec-coordinator.js +88 -0
- package/dist/src/v2/spec-coordinator.js.map +1 -0
- package/dist/src/v2/spec-delivery.d.ts +143 -0
- package/dist/src/v2/spec-delivery.d.ts.map +1 -0
- package/dist/src/v2/spec-delivery.js +401 -0
- package/dist/src/v2/spec-delivery.js.map +1 -0
- package/dist/src/v2/triage-route.d.ts +68 -0
- package/dist/src/v2/triage-route.d.ts.map +1 -0
- package/dist/src/v2/triage-route.js +223 -0
- package/dist/src/v2/triage-route.js.map +1 -0
- package/dist/src/v2/waiting-human-coordinator.d.ts +49 -0
- package/dist/src/v2/waiting-human-coordinator.d.ts.map +1 -0
- package/dist/src/v2/waiting-human-coordinator.js +509 -0
- package/dist/src/v2/waiting-human-coordinator.js.map +1 -0
- package/dist/src/v2/waiting-human.d.ts +143 -0
- package/dist/src/v2/waiting-human.d.ts.map +1 -0
- package/dist/src/v2/waiting-human.js +408 -0
- package/dist/src/v2/waiting-human.js.map +1 -0
- package/dist/src/v2/workflow-assets.d.ts +98 -0
- package/dist/src/v2/workflow-assets.d.ts.map +1 -0
- package/dist/src/v2/workflow-assets.js +646 -0
- package/dist/src/v2/workflow-assets.js.map +1 -0
- package/docs/deep-dive.md +275 -52
- package/internal-workflow/docs/agents/bug-workflow-routing.md +24 -0
- package/internal-workflow/docs/agents/bugfix-quality-gate.md +11 -0
- package/internal-workflow/docs/agents/coding-skill-routing.md +123 -0
- package/internal-workflow/docs/agents/confidence-rubric.md +65 -0
- package/internal-workflow/docs/agents/contract-test-ledger.md +60 -0
- package/internal-workflow/docs/agents/review-gates.md +42 -0
- package/internal-workflow/docs/agents/review-protocol.md +98 -0
- package/internal-workflow/docs/agents/tool-usage.md +88 -0
- package/internal-workflow/evals/coding-skill-evals.json +66 -0
- package/internal-workflow/manifest.json +1 -0
- package/internal-workflow/operations/acceptance-proof/SKILL.md +9 -0
- package/internal-workflow/operations/ambiguity-review/SKILL.md +5 -0
- package/internal-workflow/operations/code-review/SKILL.md +23 -0
- package/internal-workflow/operations/implementation/SKILL.md +24 -0
- package/internal-workflow/operations/spec-author/SKILL.md +12 -0
- package/internal-workflow/operations/spec-review/SKILL.md +12 -0
- package/internal-workflow/operations/triage/SKILL.md +12 -0
- package/internal-workflow/profiles/analyst_deep.toml +9 -0
- package/internal-workflow/profiles/implementer_standard.toml +9 -0
- package/internal-workflow/profiles/proof_agent.toml +8 -0
- package/internal-workflow/profiles/reviewer_deep.toml +9 -0
- package/internal-workflow/profiles/reviewer_standard.toml +9 -0
- package/internal-workflow/schemas/ambiguity-review-v1.json +1 -0
- package/internal-workflow/schemas/code-review-v1.json +1 -0
- package/internal-workflow/schemas/implementation-report-v1.json +1 -0
- package/internal-workflow/schemas/proof-report-v1.json +1 -0
- package/internal-workflow/schemas/spec-author-v1.json +1 -0
- package/internal-workflow/schemas/spec-review-v1.json +30 -0
- package/internal-workflow/schemas/triage-route-v1.json +1 -0
- package/internal-workflow/skills/acceptance-proof/agents/openai.yaml +6 -0
- package/{internal-skills → internal-workflow/skills}/agent-auto/SKILL.md +6 -1
- package/internal-workflow/skills/agent-auto/agents/openai.yaml +6 -0
- package/internal-workflow/skills/code-debugger/SKILL.md +122 -0
- package/internal-workflow/skills/code-debugger/agents/openai.yaml +7 -0
- package/internal-workflow/skills/code-review/SKILL.md +279 -0
- package/internal-workflow/skills/code-review/agents/openai.yaml +4 -0
- package/internal-workflow/skills/code-review/references/bug-classes.md +56 -0
- package/internal-workflow/skills/code-review/references/cleanup-lens.md +52 -0
- package/internal-workflow/skills/code-review/references/framework-lenses.md +34 -0
- package/internal-workflow/skills/code-review/references/targeted-recipes.md +49 -0
- package/internal-workflow/skills/diagnosing-bugs/SKILL.md +138 -0
- package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +6 -0
- package/internal-workflow/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/internal-workflow/skills/implementation-spec-maker/SKILL.md +102 -0
- package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +6 -0
- package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +31 -0
- package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +146 -0
- package/internal-workflow/skills/implementation-spec-review/SKILL.md +115 -0
- package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +6 -0
- package/internal-workflow/skills/implementation-spec-review/evals/evals.json +24 -0
- package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +93 -0
- package/internal-workflow/skills/small-task-implementer/SKILL.md +104 -0
- package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +6 -0
- package/internal-workflow/skills/spec-implementer/SKILL.md +126 -0
- package/internal-workflow/skills/spec-implementer/agents/openai.yaml +6 -0
- package/internal-workflow/skills/spec-implementer/evals/evals.json +30 -0
- package/internal-workflow/skills/spec-implementer/references/review-loop.md +94 -0
- package/internal-workflow/skills/tdd/SKILL.md +72 -0
- package/internal-workflow/skills/tdd/agents/openai.yaml +6 -0
- package/internal-workflow/skills/tdd/interface-design.md +31 -0
- package/internal-workflow/skills/tdd/mocking.md +59 -0
- package/internal-workflow/skills/tdd/refactoring.md +10 -0
- package/internal-workflow/skills/tdd/tests.md +77 -0
- package/internal-workflow/skills/triage/AGENT-BRIEF.md +192 -0
- package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +101 -0
- package/internal-workflow/skills/triage/SKILL.md +134 -0
- package/internal-workflow/skills/triage/agents/openai.yaml +6 -0
- package/package.json +14 -8
- package/dist/src/v2/adapters/target-activity-fence.d.ts +0 -23
- package/dist/src/v2/adapters/target-activity-fence.d.ts.map +0 -1
- package/dist/src/v2/adapters/target-activity-fence.js +0 -249
- package/dist/src/v2/adapters/target-activity-fence.js.map +0 -1
- package/dist/src/v2/candidate-cli.d.ts +0 -22
- package/dist/src/v2/candidate-cli.d.ts.map +0 -1
- package/dist/src/v2/candidate-cli.js.map +0 -1
- package/dist/src/v2/legacy-cutover.d.ts +0 -52
- package/dist/src/v2/legacy-cutover.d.ts.map +0 -1
- package/dist/src/v2/legacy-cutover.js +0 -87
- package/dist/src/v2/legacy-cutover.js.map +0 -1
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/SKILL.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/android.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/browser.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/ios.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/android-lease.mjs +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/ios-lease.mjs +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Confidence Rubric
|
|
2
|
+
|
|
3
|
+
Use this rubric for coding skills that report findings, diagnose root causes, review specs, or decide whether an auto-fix is safe.
|
|
4
|
+
|
|
5
|
+
Do not use fake numeric precision unless a skill has a concrete scoring reason. Prefer `high`, `medium`, and `low` with evidence.
|
|
6
|
+
|
|
7
|
+
## High Confidence
|
|
8
|
+
|
|
9
|
+
High confidence means the finding or diagnosis has direct evidence.
|
|
10
|
+
|
|
11
|
+
Requires:
|
|
12
|
+
|
|
13
|
+
- a concrete trigger path, code path, failing signal, or tool output
|
|
14
|
+
- a clear explanation of why existing guards do not prevent the issue
|
|
15
|
+
- no unresolved assumption that changes the conclusion
|
|
16
|
+
|
|
17
|
+
Allowed actions:
|
|
18
|
+
|
|
19
|
+
- report as a finding
|
|
20
|
+
- block execution when the issue is safety-critical or spec-critical
|
|
21
|
+
- auto-fix only when the fix is narrow, low-risk, local-patterned, and verifiable
|
|
22
|
+
|
|
23
|
+
## Medium Confidence
|
|
24
|
+
|
|
25
|
+
Medium confidence means the issue is likely but one explicit assumption remains.
|
|
26
|
+
|
|
27
|
+
Requires:
|
|
28
|
+
|
|
29
|
+
- strong local evidence
|
|
30
|
+
- exactly what assumption remains
|
|
31
|
+
- what evidence would promote or demote the finding
|
|
32
|
+
|
|
33
|
+
Allowed actions:
|
|
34
|
+
|
|
35
|
+
- report as a likely issue, risk, or execution concern
|
|
36
|
+
- ask a targeted question when the unresolved assumption changes the fix
|
|
37
|
+
- do not auto-fix unless new evidence raises confidence to high
|
|
38
|
+
|
|
39
|
+
## Low Confidence
|
|
40
|
+
|
|
41
|
+
Low confidence means the concern is plausible but not proven.
|
|
42
|
+
|
|
43
|
+
Requires:
|
|
44
|
+
|
|
45
|
+
- a clear label as uncertainty
|
|
46
|
+
- the missing evidence or verification gap
|
|
47
|
+
|
|
48
|
+
Allowed actions:
|
|
49
|
+
|
|
50
|
+
- present as a question, risk, or verification gap
|
|
51
|
+
- do not report as a proven bug
|
|
52
|
+
- do not auto-fix
|
|
53
|
+
|
|
54
|
+
## Auto-Fix Gate
|
|
55
|
+
|
|
56
|
+
Auto-fix is allowed only when all are true:
|
|
57
|
+
|
|
58
|
+
- confidence is high
|
|
59
|
+
- root cause is clear
|
|
60
|
+
- fix is narrow and low-risk
|
|
61
|
+
- fix matches local project patterns
|
|
62
|
+
- verification is available, or the edit is syntax-checkable and obviously safe
|
|
63
|
+
- the change does not require a product decision
|
|
64
|
+
|
|
65
|
+
If any condition is missing, report the issue with evidence and stop before editing.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Contract Test Ledger
|
|
2
|
+
|
|
3
|
+
Use this shared ledger for behavior-changing work where a passing happy-path test could still miss a contract defect. The ledger turns review-class risks into testable obligations before implementation.
|
|
4
|
+
|
|
5
|
+
## When Required
|
|
6
|
+
|
|
7
|
+
Create or update a contract test ledger when the task changes any of these:
|
|
8
|
+
|
|
9
|
+
- API, DTO, schema, serialization, persistence, or externally visible response shape
|
|
10
|
+
- ordering, lifecycle events, state transitions, retries, idempotency, timeout, cancellation, or background jobs
|
|
11
|
+
- cache keys, invalidation, state merge precedence, fallback behavior, profile/global/mobile overrides, defaults, or feature flags
|
|
12
|
+
- evidence, trace, snapshot, audit, summary, aggregation, score, winner, or generated artifacts
|
|
13
|
+
- shared behavior read by multiple callers, tenants, users, groups, children, or projections
|
|
14
|
+
|
|
15
|
+
For narrow UI copy, docs-only, formatting, tests-only, or isolated styling changes, the ledger is not required.
|
|
16
|
+
|
|
17
|
+
## Required Shape
|
|
18
|
+
|
|
19
|
+
Keep the ledger compact. Use one row per invariant:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
## Contract Test Ledger
|
|
23
|
+
|
|
24
|
+
| Invariant | Risk It Prevents | First Test / Proof | Status |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
| <observable rule> | <real failure mode> | <exact test name/command or manual proof> | planned / red / green / blocked |
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Rules:
|
|
30
|
+
|
|
31
|
+
- The invariant must be observable through the public interface or the same seam real callers use.
|
|
32
|
+
- The risk must name the concrete bug class, not a vague "edge case".
|
|
33
|
+
- The first test/proof must fail before the fix unless the ledger records why a RED signal is impossible.
|
|
34
|
+
- `blocked` requires the missing seam, fixture, service, or decision that prevents proof.
|
|
35
|
+
- Keep the ledger current as implementation proceeds; do not backfill it only at the end.
|
|
36
|
+
|
|
37
|
+
## Invariant Prompts
|
|
38
|
+
|
|
39
|
+
Ask the relevant subset before the first RED test:
|
|
40
|
+
|
|
41
|
+
- **Ordering:** What must happen before/after terminal events, snapshots, persistence writes, notifications, or cleanup?
|
|
42
|
+
- **Precedence:** Which source wins among user input, profile, mobile, global, server, cache, AI, fallback, default, `null`, `false`, `0`, and empty objects?
|
|
43
|
+
- **Threading:** Does each new field survive construction, normalization, cloning, retry, persistence reload, serialization, and every visible consumer?
|
|
44
|
+
- **Runtime contract:** Do validation, internal types, persistence schema, API response, and consumers agree on names, units, nullability, enum values, and date/object formats?
|
|
45
|
+
- **Retry/idempotency:** What changes on retry, and which snapshots, counters, streams, timestamps, writes, or side effects must be rebuilt instead of reused?
|
|
46
|
+
- **Determinism:** When sort keys, timestamps, scores, priorities, or winners tie, what stable tie-breaker makes output repeatable?
|
|
47
|
+
- **Evidence:** Which trace, audit, snapshot, Fresh-Context, summary, or generated artifact proves the behavior actually happened?
|
|
48
|
+
- **Partial failure:** If a dependency times out, throws, returns stale data, or fails after a side effect, what durable state remains and who repairs it?
|
|
49
|
+
- **Scope/cardinality:** Is data global, per-tenant, per-group, per-child, per-step, or per-item, and can one top-level field collapse multiple meaningful results?
|
|
50
|
+
|
|
51
|
+
## Review Feedback Loop
|
|
52
|
+
|
|
53
|
+
When code review finds a real contract defect, add or update one ledger row before fixing it:
|
|
54
|
+
|
|
55
|
+
- `Invariant`: the rule the implementation violated
|
|
56
|
+
- `Risk It Prevents`: the observed review finding
|
|
57
|
+
- `First Test / Proof`: the regression test or proof that would have caught it
|
|
58
|
+
- `Status`: `red` before the fix, then `green` after verification
|
|
59
|
+
|
|
60
|
+
If no correct public seam exists for the regression test, record that as `blocked` and name the architecture/testability gap. Do not replace a missing seam with an implementation-detail test unless the task explicitly approves that tradeoff.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Review Gates
|
|
2
|
+
|
|
3
|
+
This file owns review applicability. Review execution mechanics live in
|
|
4
|
+
[`review-protocol.md`](review-protocol.md); approved-spec review shape lives in
|
|
5
|
+
[`spec-implementer/references/review-loop.md`](../../skills/spec-implementer/references/review-loop.md).
|
|
6
|
+
|
|
7
|
+
## Final Code Review
|
|
8
|
+
|
|
9
|
+
Run final `$code-review` for behavior-changing work that affects:
|
|
10
|
+
|
|
11
|
+
- medium/large shared business behavior;
|
|
12
|
+
- API/DTO/schema, migration, persistence, auth, permission, payment, cache,
|
|
13
|
+
concurrency, background jobs, or shared-state contracts;
|
|
14
|
+
- shared UI/navigation/middleware/core flows;
|
|
15
|
+
- runtime logic across three or more files when it crosses an owner or
|
|
16
|
+
validation seam.
|
|
17
|
+
|
|
18
|
+
Do not invoke it automatically for docs, copy, comments, tests-only or
|
|
19
|
+
styling-only changes, formatting, renames, mechanical refactors, or isolated
|
|
20
|
+
low-risk one-file fixes.
|
|
21
|
+
|
|
22
|
+
`medium` is the normal review profile. API, persistence, statefulness, file
|
|
23
|
+
count, or orchestration strengthens the review focus only when it creates an
|
|
24
|
+
affected contract; none independently selects `high`.
|
|
25
|
+
|
|
26
|
+
## Cleanup
|
|
27
|
+
|
|
28
|
+
Cleanup is a lens inside the same final `$code-review`, never a separate gate.
|
|
29
|
+
Use bounded cleanup by default. Amplify it only when the user, approved source,
|
|
30
|
+
or repository policy names a concrete evidenced simplification risk; follow
|
|
31
|
+
`../../skills/code-review/references/cleanup-lens.md` for that branch.
|
|
32
|
+
|
|
33
|
+
After one consolidated repair, coordinator verification plus affected
|
|
34
|
+
validation closes ordinary medium/low behavior-preserving findings. Use
|
|
35
|
+
Closure only for the triggers in `review-protocol.md`.
|
|
36
|
+
|
|
37
|
+
## Validation Depth
|
|
38
|
+
|
|
39
|
+
For simple and medium work, run targeted behavior proof and the smallest
|
|
40
|
+
affected integration check. Run a full repository suite only when explicitly
|
|
41
|
+
required by repository policy, when broad contract fan-out cannot be isolated,
|
|
42
|
+
or for a genuinely `high` task.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Review Protocol
|
|
2
|
+
|
|
3
|
+
This file owns mechanics shared by artifact and implementation review: bounded
|
|
4
|
+
capsules, Full/Closure, defect lifecycle, no-progress, waiver, and the result
|
|
5
|
+
envelope. Target Modules own authority, profile, topology, durable state, and
|
|
6
|
+
outcome mapping.
|
|
7
|
+
|
|
8
|
+
## Capsule
|
|
9
|
+
|
|
10
|
+
Every reviewer receives only:
|
|
11
|
+
|
|
12
|
+
- target kind/path and pinned revision;
|
|
13
|
+
- one unanswered review question and assigned lenses;
|
|
14
|
+
- authority, approved scope, and relevant evidence;
|
|
15
|
+
- compact affected validation and current defect records;
|
|
16
|
+
- for Closure, the repair diff and mapping from changed targets to defects and
|
|
17
|
+
affected contracts.
|
|
18
|
+
|
|
19
|
+
Do not pass raw parent history, old revisions, repeated logs, or unrelated
|
|
20
|
+
inventories. Reuse valid coverage for the same revision, question, and lenses.
|
|
21
|
+
|
|
22
|
+
## Modes
|
|
23
|
+
|
|
24
|
+
**Full** covers the complete assigned scope once. It is bounded to the settled
|
|
25
|
+
target, changed owners, authority, and plausible affected contracts. It is not
|
|
26
|
+
a repository-wide audit and does not activate unrelated lenses.
|
|
27
|
+
|
|
28
|
+
**Closure** verifies a repair only when the finding is critical/high, affects a
|
|
29
|
+
trust boundary, durable data, concurrency/idempotency, shared API/DTO/schema, or
|
|
30
|
+
invalidates mandatory coverage. Closure stays with affected reviewer lineages
|
|
31
|
+
and targets. Do not launch it merely because Full found an ordinary defect.
|
|
32
|
+
|
|
33
|
+
A repair starts another Full only when mandatory-lens coverage became invalid.
|
|
34
|
+
A live reviewer poll timeout is non-terminal and does not authorize duplicate
|
|
35
|
+
review or cancellation; reconcile the recorded session first.
|
|
36
|
+
|
|
37
|
+
## Defects
|
|
38
|
+
|
|
39
|
+
Use one canonical record per distinct invariant and failure mechanism:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
id: REVIEW-CONC-003
|
|
43
|
+
class: blocker | execution-risk | improvement
|
|
44
|
+
status: open | fixed | verified | blocked | accepted-risk | superseded
|
|
45
|
+
severity: critical | high | medium | low
|
|
46
|
+
confidence: high | medium | low
|
|
47
|
+
invariant: "<observable rule>"
|
|
48
|
+
failure: "<concrete trigger and impact>"
|
|
49
|
+
evidence: ["<target or source>"]
|
|
50
|
+
repair: "<smallest sufficient change>"
|
|
51
|
+
affected_targets: ["<path, section, contract, or lens>"]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Root assigns stable IDs and deduplicates only when both invariant and failure
|
|
55
|
+
match. A superseded record must point to a distinct canonical replacement.
|
|
56
|
+
Improvements never block. Only an execution risk may become `accepted-risk`,
|
|
57
|
+
and only with explicit authority, reason, scope, and target revision. A blocker
|
|
58
|
+
cannot be accepted or downgraded.
|
|
59
|
+
|
|
60
|
+
Move blocking defects `open -> fixed -> verified`. For ordinary medium/low
|
|
61
|
+
behavior-preserving repairs, root may verify after checking the cited failure
|
|
62
|
+
path and affected validation. Closure-triggering defects require affected
|
|
63
|
+
independent verification.
|
|
64
|
+
|
|
65
|
+
In Closure, copy each supplied canonical defect's `id`, `class`, `invariant`,
|
|
66
|
+
`failure`, and introduced target revision byte-for-byte. Never paraphrase those
|
|
67
|
+
immutable fields while describing verification. Record the Closure decision in
|
|
68
|
+
the status, status target revision, evidence, and repair-finding outcome fields.
|
|
69
|
+
|
|
70
|
+
## Repair And Stop
|
|
71
|
+
|
|
72
|
+
Repair compatible findings in one consolidated batch. Before repeating review,
|
|
73
|
+
the target, evidence, repair, or source decision must change materially.
|
|
74
|
+
Review count and elapsed time are audit signals, never approval or blocking
|
|
75
|
+
conditions.
|
|
76
|
+
|
|
77
|
+
Stop when repair requires a product/scope/owner decision, mandatory evidence or
|
|
78
|
+
reviewer is unavailable, no substantive repair exists, or the same failure
|
|
79
|
+
repeats without progress. Do not create micro-cycles for ordinary medium/low
|
|
80
|
+
findings.
|
|
81
|
+
|
|
82
|
+
Waive review only after explicit user instruction. Record skipped coverage and
|
|
83
|
+
open defects. Waiver is not approval and accepts no defect automatically.
|
|
84
|
+
|
|
85
|
+
## Result
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
Review Mode: <Full | Closure>
|
|
89
|
+
Mandatory Coverage: <covered lenses or gaps>
|
|
90
|
+
Verified Defects: <IDs or None>
|
|
91
|
+
Accepted Risks: <IDs, authority, reason or None>
|
|
92
|
+
Open Defects: <IDs or None>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Target Modules add profile, authority, outcome, and checkpoint without
|
|
96
|
+
redefining these fields. For a normal medium flow, do not report internal
|
|
97
|
+
session accounting unless interruption, Closure, accepted risk, or another
|
|
98
|
+
exception makes it relevant.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Tool Usage
|
|
2
|
+
|
|
3
|
+
## Flutter Debug Sessions
|
|
4
|
+
|
|
5
|
+
Local Flutter UI work always uses a platform QA skill plus the runtime ownership gate:
|
|
6
|
+
|
|
7
|
+
- Android emulator: use `$flutter-android-debug` as the lifecycle orchestrator and
|
|
8
|
+
`test-android-apps:android-emulator-qa` for navigation, interaction, UI trees,
|
|
9
|
+
screenshots, and logcat.
|
|
10
|
+
- iOS Simulator: use `$flutter-ios-debug` for environment/login gates, navigation,
|
|
11
|
+
interaction, screenshots, and visual comparison.
|
|
12
|
+
- Use `$flutter-attach-session` only to discover the runtime owner and perform
|
|
13
|
+
reload/restart when that session is safe for this agent to control.
|
|
14
|
+
|
|
15
|
+
Before any install, launch, attach, reload, restart, terminate, or force-stop:
|
|
16
|
+
|
|
17
|
+
1. Identify the project, target device, package/app, current PID, VM Service, runtime
|
|
18
|
+
owner, and expected backend/environment.
|
|
19
|
+
2. Treat any live PID, VM Service, IDE debug adapter, `flutter run`, or visible app as
|
|
20
|
+
user-owned state.
|
|
21
|
+
3. If an IDE/debug adapter or machine run owns DevFS, do not create a second attach
|
|
22
|
+
controller. Use the owning IDE/terminal reload action or ask the user to trigger it.
|
|
23
|
+
A standalone interactive terminal run is the only exception, and only when
|
|
24
|
+
discovery marks it attach-safe and the helper receives its confirmed PID.
|
|
25
|
+
4. Use `r` for widget/layout/style/rendering changes and `R` for startup state,
|
|
26
|
+
dependency injection, providers, globals, routes, or initialization changes.
|
|
27
|
+
5. For a safely attachable standalone runtime, pass the PID confirmed by
|
|
28
|
+
`discover --json` as `--expected-pid`; never execute the raw discovered attach command.
|
|
29
|
+
6. Verify that the same PID and expected environment remain after each runtime or
|
|
30
|
+
navigation action.
|
|
31
|
+
|
|
32
|
+
Requests to inspect, debug, navigate, capture screenshots, or verify UI do not authorize
|
|
33
|
+
build/install, uninstall, app-data clearing, force-stop, process termination, replacement
|
|
34
|
+
launch, or a new `flutter run`. Use those only when no live target exists and the user
|
|
35
|
+
requested a fresh run, or after explicit approval to replace the current session.
|
|
36
|
+
|
|
37
|
+
The platform QA skill owns navigation and evidence. Do not replace it with ad-hoc shell
|
|
38
|
+
commands: use `test-android-apps:android-emulator-qa` for Android emulator UI trees,
|
|
39
|
+
input, screenshots, and logcat, and `$flutter-ios-debug` for iOS Simulator environment
|
|
40
|
+
gates, navigation, interaction, screenshots, and visual comparison.
|
|
41
|
+
|
|
42
|
+
If the process disappears, stop and report it. Hot reload cannot restore a dead process,
|
|
43
|
+
and launching the installed app may expose an older APK/IPA without the DevFS changes.
|
|
44
|
+
|
|
45
|
+
For a cold launch, load the owning repository's launch configuration as the source of
|
|
46
|
+
truth for flavor, dart-defines, package/app identity, and backend. This applies only
|
|
47
|
+
after the cold-launch gate is satisfied.
|
|
48
|
+
|
|
49
|
+
## External Research
|
|
50
|
+
|
|
51
|
+
Prefer local evidence before external lookup. When external evidence is
|
|
52
|
+
material to a coding decision, use the source that owns the claim:
|
|
53
|
+
|
|
54
|
+
1. official documentation or specifications;
|
|
55
|
+
2. first-party source code, changelogs, release notes, or issue trackers;
|
|
56
|
+
3. first-party APIs or published schemas.
|
|
57
|
+
|
|
58
|
+
Use secondary sources only to discover primary sources or identify a disputed
|
|
59
|
+
interpretation. Record source version/date when freshness matters, separate
|
|
60
|
+
sourced facts from inference, and say when current behavior cannot be confirmed.
|
|
61
|
+
|
|
62
|
+
Keep one narrow lookup inline unless the user explicitly requests delegation or
|
|
63
|
+
a durable artifact. Use `$research` for either explicit request, multi-source
|
|
64
|
+
comparison, or material external contract synthesis. The skill owns the
|
|
65
|
+
Research Capsule, named-agent route, claim-to-source artifact, root verification,
|
|
66
|
+
and downstream handoff.
|
|
67
|
+
|
|
68
|
+
## Context7
|
|
69
|
+
|
|
70
|
+
Use Context7 only when the task genuinely requires precise, current documentation for a real package, framework, SDK, API, or implementation detail that cannot be confidently answered from local evidence or built-in knowledge.
|
|
71
|
+
|
|
72
|
+
Prefer local inspection first:
|
|
73
|
+
|
|
74
|
+
- source code
|
|
75
|
+
- lockfiles and installed package versions
|
|
76
|
+
- package manifests
|
|
77
|
+
- existing tests and examples
|
|
78
|
+
- local docs and configuration
|
|
79
|
+
|
|
80
|
+
Do not use Context7 for:
|
|
81
|
+
|
|
82
|
+
- routine coding
|
|
83
|
+
- general language questions
|
|
84
|
+
- simple refactors
|
|
85
|
+
- repository-specific behavior
|
|
86
|
+
- facts already visible in the project
|
|
87
|
+
|
|
88
|
+
If Context7 is used, keep the lookup narrow and bring back only the details needed for the active task.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"purpose": "Cross-skill routing and handoff regressions only; skill-local behavior belongs in each owner's evals directory.",
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "route-feature-tdd",
|
|
7
|
+
"prompt": "Implement a behavior-changing feature in this repository.",
|
|
8
|
+
"expected": ["read local evidence", "activate tdd before behavior edits", "run affected validation"],
|
|
9
|
+
"forbidden": ["invent repository commands", "create planning artifacts without an execution gap"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"id": "route-diagnosis-only",
|
|
13
|
+
"prompt": "Explain the root cause and do not fix it yet.",
|
|
14
|
+
"expected": ["use bug-root-cause-explainer", "cite concrete evidence", "stop before edits"],
|
|
15
|
+
"forbidden": ["edit files", "present an inference as proven"]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "route-flaky-bug",
|
|
19
|
+
"prompt": "Debug a failure that only happens intermittently.",
|
|
20
|
+
"expected": ["use diagnosing-bugs", "improve reproduction or signal before repair"],
|
|
21
|
+
"forbidden": ["jump directly to a fix"]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "profile-medium-default",
|
|
25
|
+
"prompt": "Implement one clear stateful feature touching an API, persistence, and several files.",
|
|
26
|
+
"expected": ["select medium", "implement directly when authority and proof are clear"],
|
|
27
|
+
"forbidden": ["select high from statefulness or file count", "manufacture a PRD, tickets, or spec"]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "profile-high-threshold",
|
|
31
|
+
"prompt": "Classify one broad ordinary refactor and one change with irreversible data loss plus unclear recovery ownership.",
|
|
32
|
+
"expected": ["keep the broad ordinary refactor medium", "select high only for material consequence plus uncertainty"],
|
|
33
|
+
"forbidden": ["accumulate generic risk labels into high"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "planning-does-not-deliver",
|
|
37
|
+
"prompt": "Use wayfinder to resolve the decision frontier and publish the resulting tickets.",
|
|
38
|
+
"expected": ["stop after the planning package", "require separate delivery authorization"],
|
|
39
|
+
"forbidden": ["start implementation from publication or labels"]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "spec-only-for-gap",
|
|
43
|
+
"prompt": "Choose the route for a clear implementation request and for the same request with an unresolved execution contract.",
|
|
44
|
+
"expected": ["route the clear request directly", "use implementation-spec-maker for the unresolved execution delta"],
|
|
45
|
+
"forbidden": ["require a spec for every medium change"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "ticket-direct-vs-graph",
|
|
49
|
+
"prompt": "Choose delivery for one deterministic approved ticket and for an approved dependency graph.",
|
|
50
|
+
"expected": ["allow direct execution for the single ticket", "use tickets-orchestrator for the graph"],
|
|
51
|
+
"forbidden": ["manufacture a wave-level spec"]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "review-topology",
|
|
55
|
+
"prompt": "Choose reviewer topology for simple, medium, and high profiles.",
|
|
56
|
+
"expected": ["simple uses one reviewer_fast when gated", "medium uses one reviewer_standard", "high uses two disjoint reviewer_deep tracks"],
|
|
57
|
+
"forbidden": ["root self-review", "two reviewers for ordinary medium"]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "review-closure-bounded",
|
|
61
|
+
"prompt": "A medium Full review reports one low cleanup issue and one high shared DTO contract defect.",
|
|
62
|
+
"expected": ["repair findings in one batch", "coordinator verifies the low repair", "Closure covers only the high affected contract"],
|
|
63
|
+
"forbidden": ["restart broad Full review", "launch a separate cleanup gate"]
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"evals":{"shared/coding-skill-evals":{"owner":null,"path":"evals/coding-skill-evals.json"},"skill/implementation-spec-review":{"owner":"implementation-spec-review","path":"skills/implementation-spec-review/evals/evals.json"},"skill/spec-implementer":{"owner":"spec-implementer","path":"skills/spec-implementer/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"a37c59676bcb8b938a7c82bce8a6ea5becf58ba367866d2712cd469391aea931","size":1603},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"958f4e7c7177c062b2a24fb7db2287be2cfa6e5281f2d156f7eb67b6cb3a0741","size":6434},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/contract-test-ledger.md","sha256":"6f2327a40f218fbc746193c6440a69be08450938688b401f05163a3bb438a7f3","size":3779},{"mode":420,"path":"docs/agents/review-gates.md","sha256":"5ca48066b263cf869549c383814cfbdbbad711e5c247a8253bc2996d8fdec496","size":1857},{"mode":420,"path":"docs/agents/review-protocol.md","sha256":"9af5b44c545d76f3a048de424a4ccc78aa7e018bd193e4e5a787b2cef47af071","size":4086},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"b6ade11865a46a5a28d4823c1b70318453f4d350cfc62d2969aa06d73c47be4b","size":4321},{"mode":420,"path":"evals/coding-skill-evals.json","sha256":"22ba3bb4372cde747c3accc899f85dc67f190fd33113deb133392a1695f5ad99","size":3519},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/ambiguity-review/SKILL.md","sha256":"20371f30015afef12a2b9dd608d21cc93a93f011873927f7a64e29b36a4fcf99","size":427},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"c415e4383dd7ddeb4b371a0a141a39c4296d95222b26ca3fcc51a34704e10f25","size":1246},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"6f0c9b900d252d9a833d7fdac6868d84900787debf2964e22ffbf86851af45d2","size":1461},{"mode":420,"path":"operations/spec-author/SKILL.md","sha256":"5170f275bd7bc346578028d74d5814a5edd36ccd90d0615c4d5e3d6b6f8af049","size":627},{"mode":420,"path":"operations/spec-review/SKILL.md","sha256":"6cb7b8ea245faa2587ebde07ebe3d364eff41d18d5464ccd2749cf2b9b49f701","size":653},{"mode":420,"path":"operations/triage/SKILL.md","sha256":"39e8301b90a59795dc2b93917d4674c22dc3e4380f011a54ade1de4c7cdc18ae","size":647},{"mode":420,"path":"profiles/analyst_deep.toml","sha256":"06335e3a13b07ef3d7deb9b546a6dad5d765edfa6dbf21c1c4d516e843a4352f","size":380},{"mode":420,"path":"profiles/implementer_standard.toml","sha256":"4074f45ea6fb615382de7ddf04e4ab824185e01932290b95764ff63a3711824e","size":750},{"mode":420,"path":"profiles/proof_agent.toml","sha256":"2fbaf1145a11cb5c574bf1ed7333187d284ed0c3c3d6260c628f82057b8b04e7","size":446},{"mode":420,"path":"profiles/reviewer_deep.toml","sha256":"15ef121b641265a85d0647c46f6dd93d4a9abd8c09bcc746c41e4ca6b4c9af41","size":648},{"mode":420,"path":"profiles/reviewer_standard.toml","sha256":"0a26b24f98b7e8d0ec049cb6fbe623d5da838b2fe71b5accd59bf364a9c97e5c","size":585},{"mode":420,"path":"schemas/ambiguity-review-v1.json","sha256":"48d946ad8e91bd1908d8993ef631b1701ad3cd7a79f34368a07942d7774afeff","size":524},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"b11b266e0a7e0aa19eaf90ebf2b5c33f3bc7263e9c697cbf206e9865084e3439","size":2555},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"a1b580dad03af9be74d895d38a2f6aa9398b6d772c944dc398dac5aca0630d2e","size":1573},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"1bf6c5b22b97ab3b659d961e21b0fc06869481405e1048ab9eadeeea212a8cf6","size":21949},{"mode":420,"path":"schemas/spec-author-v1.json","sha256":"49f945362d1184ad628584b91fbbe75323d13bafa4ca3876093387a9fca06214","size":420},{"mode":420,"path":"schemas/spec-review-v1.json","sha256":"fe9fdd389bcb4c3b7d19609184caf3af4b89e7c1d1e71a7ba0c55c72c5d5562d","size":1386},{"mode":420,"path":"schemas/triage-route-v1.json","sha256":"3ca7ed29237f42e12567797d145d90dd4f1f48fa1e81a7da67434c19747753d8","size":5894},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"5a0f2dcd62a43da86a7627c70c86bde86e78c06929675073ee37727e3f06fc65","size":1683},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b9396d1327ffc19f91b73c2470222871e403ea1d0f3de58025e689a92691a842","size":3022},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/android-lease.mjs","sha256":"982c426dd5b3a90f74e5120783b3a24fa98d8218d0f4140e756187865b48d708","size":11393},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/agent-auto/SKILL.md","sha256":"450c28f7a712f881cdf9f3e48555a47022b46f79df875bac35843a1c15135451","size":1415},{"mode":420,"path":"skills/agent-auto/agents/openai.yaml","sha256":"79a70421300891e3130fc7535c4aa37e01931ff353fbd7b83262c6fcf2032b71","size":266},{"mode":420,"path":"skills/code-debugger/SKILL.md","sha256":"56a403b2cd9a3dad4b48d06ab05a9b99fde97261b7380c2cd9ffd82b2c3cbb53","size":7725},{"mode":420,"path":"skills/code-debugger/agents/openai.yaml","sha256":"8dd2f301bee632585371bd6f62dbdcdec95201f553392515342da5d0fc563305","size":322},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"5cd395731f598d5c88319f74ea4fe83ae7678fa1bd42cd45acc6246b67467289","size":15805},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"c2697212427a5e119d9127e2f9000594e6c2eb7696e7a40604da7149c79ce478","size":278},{"mode":420,"path":"skills/code-review/references/bug-classes.md","sha256":"1f8648af9914cbd7553d045915f959df0f3b50a88e97c3beefeb955342e7b12d","size":4062},{"mode":420,"path":"skills/code-review/references/cleanup-lens.md","sha256":"6406350bf8ff00f9d2de2d5a8871aa1a9ab0efa33dcc35453eeebe9c96623e69","size":2846},{"mode":420,"path":"skills/code-review/references/framework-lenses.md","sha256":"ca9e7cb09f32f729cec5522e8ff7c7dcc43f76ef986e701e9c0a226514912cd8","size":1820},{"mode":420,"path":"skills/code-review/references/targeted-recipes.md","sha256":"921b422958c97e606637d3fa2d2628239d9176f0316c7e45bbc55b20a22fe3c1","size":2564},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"9a3457d4f12e3810041def93456a0c020df0842200737bf7ecaf06471991c16c","size":9097},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"eca84840bc193ce63cc7aad93d9e7b5f2541739b7bf682e5fa9eded3a8060787","size":262},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/implementation-spec-maker/SKILL.md","sha256":"035cb829574c92c8342ae0a4a6f04866802f3724b6ba16583ae8c5724d6d45f9","size":7751},{"mode":420,"path":"skills/implementation-spec-maker/agents/openai.yaml","sha256":"a4457f3e2f08cb07694855d362103b6a628c82b262950409268145348e2d91dd","size":363},{"mode":420,"path":"skills/implementation-spec-maker/references/source-modes.md","sha256":"471f0f58668b414438effbf91398022327fcbd43f40cc0801080994fe02bda3b","size":1920},{"mode":420,"path":"skills/implementation-spec-maker/references/spec-template.md","sha256":"0ba380125eb2e0c114aed6b0f064ac2643edf75bb78c10de72b741776edee6ff","size":5319},{"mode":420,"path":"skills/implementation-spec-review/SKILL.md","sha256":"d4c32638f0bf93766dda1e9d5eaa072c279d4658d421482da78ccc0cfd2e13c7","size":5270},{"mode":420,"path":"skills/implementation-spec-review/agents/openai.yaml","sha256":"600f9cc4e4f42596e3bf48601a508ddf055efcc396478d5e339d024973f4fb05","size":277},{"mode":420,"path":"skills/implementation-spec-review/evals/evals.json","sha256":"d0f73eba5cb0ce34f50f43f80094a3f0cf3aa1caa1b5eb859906721159aee575","size":1114},{"mode":420,"path":"skills/implementation-spec-review/references/review-loop.md","sha256":"9d9e9c233ba08e256b158a7fe740ffe5ffd1893960c2076254e44e0e49083630","size":3901},{"mode":420,"path":"skills/small-task-implementer/SKILL.md","sha256":"6b81bf9d85b2f6c8253099cfe766f67cad312e3eb38b014ed2bedb007df467fc","size":4279},{"mode":420,"path":"skills/small-task-implementer/agents/openai.yaml","sha256":"81569b6dfd97de60b53f092528140a5e5043f9adcc9262debff7bc912e278958","size":261},{"mode":420,"path":"skills/spec-implementer/SKILL.md","sha256":"70f65edddebc788a21dbb5bc6cb8f60a297e0364c8e4754f3ba80cbf1ba210a0","size":5538},{"mode":420,"path":"skills/spec-implementer/agents/openai.yaml","sha256":"84ef664ae3538e264fe6746917f081d34eac0738dc28764ddf27d7a448b3615d","size":341},{"mode":420,"path":"skills/spec-implementer/evals/evals.json","sha256":"23d73ddd6e2205b601a36cd07a7dd5ee228ae587d5b9cc5adab9b0993a312ba8","size":1361},{"mode":420,"path":"skills/spec-implementer/references/review-loop.md","sha256":"5161c4c586144cdf0aba828c459c57b9e8dc404a06990b3a887b51648fe1fcb9","size":4311},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"9e046610c341be0c770d4196f98c95cdb673d477bbbbcdfcca499dd5da6071d0","size":4146},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"cc49a11a2c08733862d1a406123cda7a050d4a70fa92a4b3ec37f318694b1581","size":301},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"3ceb807fdf4a47d6a93d4d9a891e5ba6d362a6247bd08adc451feebfc17361ef","size":1481},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"54fced22dd1911b7094c3fe7979b7c1a40d40be307482c4adf7dc0588f27d6cc","size":387},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/triage/AGENT-BRIEF.md","sha256":"053cd013e1c2c9275111aa6e4b5a12e9838f8d6cd888e8ca0ccaaac576fd74df","size":7070},{"mode":420,"path":"skills/triage/OUT-OF-SCOPE.md","sha256":"8ed8cf27833444060c81b3961a83c0e3d8e6cf2fcb2ddf6f8b07c6655cbb0d85","size":4282},{"mode":420,"path":"skills/triage/SKILL.md","sha256":"5c7c84189fd5146ec1ae55a5669c74372ed7bce588fa7b8523417aa55b312a2e","size":8273},{"mode":420,"path":"skills/triage/agents/openai.yaml","sha256":"466bc430f95132bc6b28d077d50865d4b1fd9218307582343c35b0baf66d7894","size":283}],"generationHash":"a66ee20f05adca0ffc042d75e0121bf0b8a8679c67d6eecb933acd8f2af4ca1d","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/proof_agent.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/android-lease.mjs","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"proof_agent","resources":[],"sourceSkill":"acceptance-proof"},"ambiguity-review":{"dependencySkills":[],"entry":"operations/ambiguity-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/ambiguity-review/SKILL.md","profiles/reviewer_deep.toml","schemas/ambiguity-review-v1.json"],"id":"ambiguity-review","outputSchema":"schemas/ambiguity-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md"],"sourceSkill":null},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md","operations/code-review/SKILL.md","profiles/reviewer_standard.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["code-debugger","diagnosing-bugs","small-task-implementer","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer_standard","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md"],"sourceSkill":"agent-auto"},"spec-author":{"dependencySkills":[],"entry":"operations/spec-author/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","operations/spec-author/SKILL.md","profiles/implementer_standard.toml","schemas/spec-author-v1.json","skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"id":"spec-author","outputSchema":"schemas/spec-author-v1.json","policy":{"approvalCeiling":"never","cwdClass":"target-state","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"spec-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["target-state"]},"profile":"implementer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md"],"sourceSkill":"implementation-spec-maker"},"spec-review":{"dependencySkills":[],"entry":"operations/spec-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md","operations/spec-review/SKILL.md","profiles/reviewer_deep.toml","schemas/spec-review-v1.json","skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"id":"spec-review","outputSchema":"schemas/spec-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md"],"sourceSkill":"implementation-spec-review"},"triage":{"dependencySkills":[],"entry":"operations/triage/SKILL.md","files":["docs/agents/coding-skill-routing.md","operations/triage/SKILL.md","profiles/analyst_deep.toml","schemas/triage-route-v1.json","skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"id":"triage","outputSchema":"schemas/triage-route-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"analyst_deep","resources":["docs/agents/coding-skill-routing.md"],"sourceSkill":"triage"}},"profiles":{"analyst_deep":"profiles/analyst_deep.toml","implementer_standard":"profiles/implementer_standard.toml","proof_agent":"profiles/proof_agent.toml","reviewer_deep":"profiles/reviewer_deep.toml","reviewer_standard":"profiles/reviewer_standard.toml"},"skills":{"acceptance-proof":{"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/android-lease.mjs","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"agent-auto":{"entry":"skills/agent-auto/SKILL.md","files":["skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml"],"metadata":"skills/agent-auto/agents/openai.yaml"},"code-debugger":{"entry":"skills/code-debugger/SKILL.md","files":["skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml"],"metadata":"skills/code-debugger/agents/openai.yaml"},"code-review":{"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"entry":"skills/diagnosing-bugs/SKILL.md","files":["skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"implementation-spec-maker":{"entry":"skills/implementation-spec-maker/SKILL.md","files":["skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"metadata":"skills/implementation-spec-maker/agents/openai.yaml"},"implementation-spec-review":{"entry":"skills/implementation-spec-review/SKILL.md","files":["skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"metadata":"skills/implementation-spec-review/agents/openai.yaml"},"small-task-implementer":{"entry":"skills/small-task-implementer/SKILL.md","files":["skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml"],"metadata":"skills/small-task-implementer/agents/openai.yaml"},"spec-implementer":{"entry":"skills/spec-implementer/SKILL.md","files":["skills/spec-implementer/SKILL.md","skills/spec-implementer/agents/openai.yaml","skills/spec-implementer/references/review-loop.md"],"metadata":"skills/spec-implementer/agents/openai.yaml"},"tdd":{"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"triage":{"entry":"skills/triage/SKILL.md","files":["skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"metadata":"skills/triage/agents/openai.yaml"}},"sourceFingerprint":"a8849a4c47b3adcb10239694bc0404eb89df4dbf8ae1e6ca7be689c141c5e316","version":2}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Acceptance Proof Operation
|
|
2
|
+
|
|
3
|
+
Follow the packaged [Acceptance Proof skill](../../skills/acceptance-proof/SKILL.md).
|
|
4
|
+
Never change product behavior or external state. Return only
|
|
5
|
+
`schemas/proof-report-v1.json`.
|
|
6
|
+
|
|
7
|
+
The Runner already supplied the exact schema through `--output-schema`. Do not
|
|
8
|
+
search for, open, or infer a repository-relative schema file; inspect only the
|
|
9
|
+
frozen criteria, changed targets, checks, and requested proof evidence.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Fresh Ambiguity Review Operation
|
|
2
|
+
|
|
3
|
+
Independently verify that a supplied waiting candidate contains at least two materially different product outcomes and no source-authorized choice. Technical, architecture, test, and tool choices are never product ambiguity. Do not edit files or external state. Return only `schemas/ambiguity-review-v1.json`.
|
|
4
|
+
|
|
5
|
+
Apply the packaged [confidence rubric](../../docs/agents/confidence-rubric.md).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Code Review Operation
|
|
2
|
+
|
|
3
|
+
You are already the independent reviewer selected by the Runner. Follow the
|
|
4
|
+
packaged [Code Review skill](../../skills/code-review/SKILL.md) inline with
|
|
5
|
+
correctness and spec/standards lenses. Cleanup is its bounded lens, never a
|
|
6
|
+
separate operation. Use the declared resources for
|
|
7
|
+
[confidence](../../docs/agents/confidence-rubric.md),
|
|
8
|
+
[contract tests](../../docs/agents/contract-test-ledger.md),
|
|
9
|
+
[review applicability](../../docs/agents/review-gates.md), and
|
|
10
|
+
[Full/Closure mechanics](../../docs/agents/review-protocol.md). The supplied
|
|
11
|
+
review capsule is the exact target and authority.
|
|
12
|
+
|
|
13
|
+
For Closure, copy every supplied canonical defect's `id`, `class`, `invariant`,
|
|
14
|
+
`failure`, and `introducedTargetRevision` exactly. Do not paraphrase immutable
|
|
15
|
+
defect fields; express verification through the allowed status, revision,
|
|
16
|
+
evidence, and repair-finding outcome fields.
|
|
17
|
+
|
|
18
|
+
Use `needs-work` for concrete defects that the bounded implementation cycle can
|
|
19
|
+
repair. Reserve `rejected` for a target or authority that cannot safely proceed
|
|
20
|
+
through the normal repair lifecycle.
|
|
21
|
+
|
|
22
|
+
Do not launch another reviewer, edit files, repair findings, or mutate external
|
|
23
|
+
state. Return only `schemas/code-review-v1.json` with operation `code-review`.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Implementation Operation
|
|
2
|
+
|
|
3
|
+
Follow [Agent Auto](../../skills/agent-auto/SKILL.md) as the Runner adapter.
|
|
4
|
+
Use the packaged [coding routing](../../docs/agents/coding-skill-routing.md)
|
|
5
|
+
only for direct implementation, TDD, bug-routing, evidence, and affected
|
|
6
|
+
validation. Read [TDD](../../skills/tdd/SKILL.md) before behavior changes. For
|
|
7
|
+
a confirmed bug use [Code Debugger](../../skills/code-debugger/SKILL.md); use
|
|
8
|
+
[Diagnosing Bugs](../../skills/diagnosing-bugs/SKILL.md) only when a reliable
|
|
9
|
+
failing signal is missing. A tiny task may use
|
|
10
|
+
[Small Task Implementer](../../skills/small-task-implementer/SKILL.md) only
|
|
11
|
+
after its Fit Gate. Apply the declared
|
|
12
|
+
[bug routing](../../docs/agents/bug-workflow-routing.md),
|
|
13
|
+
[contract ledger](../../docs/agents/contract-test-ledger.md),
|
|
14
|
+
[review gate](../../docs/agents/review-gates.md), and
|
|
15
|
+
[tool policy](../../docs/agents/tool-usage.md) only when their branch is active.
|
|
16
|
+
|
|
17
|
+
The issue is already authorized for implementation. Do not start planning,
|
|
18
|
+
ticket publication, implementation-spec authoring, independent review, or
|
|
19
|
+
delivery. The Runner owns review, checks, commits, publication, retries, and
|
|
20
|
+
external state. Never commit, push, publish, mutate GitHub, or expose
|
|
21
|
+
credentials. In the final report, `changedFiles` is the complete current product
|
|
22
|
+
change set across all implementation cycles, not only files touched in this
|
|
23
|
+
attempt; exclude Runner-owned proof artifacts. Return only
|
|
24
|
+
`schemas/implementation-report-v1.json`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Spec Author Operation
|
|
2
|
+
|
|
3
|
+
Follow the authoring and minimum-solution contract in the packaged
|
|
4
|
+
[Implementation Spec Maker](../../skills/implementation-spec-maker/SKILL.md)
|
|
5
|
+
for the supplied issue authority. Use the declared
|
|
6
|
+
[confidence rubric](../../docs/agents/confidence-rubric.md) and
|
|
7
|
+
[contract ledger](../../docs/agents/contract-test-ledger.md) only when
|
|
8
|
+
applicable.
|
|
9
|
+
The Runner owns artifact review, revision state, and approval, so do not invoke
|
|
10
|
+
the skill's review/save workflow or create reviewer state. Write the complete
|
|
11
|
+
revision only to the Runner-provided spec artifact location and return
|
|
12
|
+
`schemas/spec-author-v1.json`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Spec Review Operation
|
|
2
|
+
|
|
3
|
+
You are already the independent reviewer selected and persisted by the Runner.
|
|
4
|
+
Follow the packaged
|
|
5
|
+
[Implementation Spec Review](../../skills/implementation-spec-review/SKILL.md)
|
|
6
|
+
inline and use its owner-local review loop only for semantics matching the
|
|
7
|
+
supplied mode and immutable state. Apply the declared
|
|
8
|
+
[confidence rubric](../../docs/agents/confidence-rubric.md),
|
|
9
|
+
[contract ledger](../../docs/agents/contract-test-ledger.md), and
|
|
10
|
+
[review protocol](../../docs/agents/review-protocol.md). Do not launch another
|
|
11
|
+
reviewer, edit the spec, change review state, or mutate external state. Return
|
|
12
|
+
only `schemas/spec-review-v1.json`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Triage Operation
|
|
2
|
+
|
|
3
|
+
Inspect the supplied issue and repository evidence without edits or external
|
|
4
|
+
writes. Use the packaged
|
|
5
|
+
[coding routing](../../docs/agents/coding-skill-routing.md) for the distinction
|
|
6
|
+
between a direct deterministic implementation and a real execution gap. Use
|
|
7
|
+
the packaged [Triage skill](../../skills/triage/SKILL.md) only for evidence
|
|
8
|
+
discipline; its labels and tracker mutations are outside this operation.
|
|
9
|
+
|
|
10
|
+
Return exactly one package route in `schemas/triage-route-v1.json`: direct,
|
|
11
|
+
spec-required, awaiting-user for material product ambiguity, or a typed
|
|
12
|
+
blocker. Technical implementation choices never require awaiting-user.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
name = "analyst_deep"
|
|
2
|
+
description = "Deep read-only analysis for ambiguous architecture, contracts, and root causes."
|
|
3
|
+
nickname_candidates = ["Sage"]
|
|
4
|
+
model = "gpt-5.6-sol"
|
|
5
|
+
model_reasoning_effort = "xhigh"
|
|
6
|
+
sandbox_mode = "read-only"
|
|
7
|
+
developer_instructions = """
|
|
8
|
+
Analyze only. Build evidence-backed conclusions and recommendations; leave final decisions and edits to the parent.
|
|
9
|
+
"""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
name = "implementer_standard"
|
|
2
|
+
description = "Write-capable implementation worker for one approved, bounded ticket slice."
|
|
3
|
+
nickname_candidates = ["Forge", "Mason", "Builder"]
|
|
4
|
+
model = "gpt-5.6-sol"
|
|
5
|
+
model_reasoning_effort = "medium"
|
|
6
|
+
sandbox_mode = "workspace-write"
|
|
7
|
+
developer_instructions = """
|
|
8
|
+
Implement only the assigned approved ticket slice through its observable interface. Respect the exact write scope, tests, exclusions, and stop conditions. You are not alone in the repository: preserve unrelated and concurrent changes, never revert work you do not own, and report overlap before editing. Use behavior-first proof for behavior changes and return changed files, acceptance proof, skipped checks, risks, and blockers to the root integrator.
|
|
9
|
+
"""
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
name = "proof_agent"
|
|
2
|
+
description = "Write-capable contained proof worker; Runner enforces proof-only postconditions."
|
|
3
|
+
model = "gpt-5.6-sol"
|
|
4
|
+
model_reasoning_effort = "high"
|
|
5
|
+
sandbox_mode = "workspace-write"
|
|
6
|
+
developer_instructions = """
|
|
7
|
+
Prove only the frozen criteria. Write only proof evidence requested by the Runner, never product behavior, Git history, GitHub state, publication state, or credentials. Return the exact supplied JSON schema.
|
|
8
|
+
"""
|