neo-agent-skills 0.1.0
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/.agents/skills/architecture-pre-flight/SKILL.md +10 -0
- package/.agents/skills/architecture-pre-flight/references/architecture-pre-flight-workflow.md +48 -0
- package/.agents/skills/blocked-task-state/SKILL.md +10 -0
- package/.agents/skills/blocked-task-state/references/blocked-task-state-workflow.md +64 -0
- package/.agents/skills/blog-post/SKILL.md +10 -0
- package/.agents/skills/blog-post/references/blog-authoring-guide.md +60 -0
- package/.agents/skills/context-recovery/SKILL.md +8 -0
- package/.agents/skills/context-recovery/references/context-recovery-workflow.md +143 -0
- package/.agents/skills/create-skill/SKILL.md +8 -0
- package/.agents/skills/create-skill/references/skill-authoring-guide.md +191 -0
- package/.agents/skills/debugging-antigravity/SKILL.md +6 -0
- package/.agents/skills/debugging-antigravity/references/debugging-guide.md +73 -0
- package/.agents/skills/epic-create/SKILL.md +6 -0
- package/.agents/skills/epic-create/references/epic-create-workflow.md +62 -0
- package/.agents/skills/epic-resolution/SKILL.md +6 -0
- package/.agents/skills/epic-resolution/references/epic-resolution-workflow.md +190 -0
- package/.agents/skills/epic-review/SKILL.md +11 -0
- package/.agents/skills/epic-review/assets/epic-review-comment-template.md +87 -0
- package/.agents/skills/epic-review/references/epic-review-workflow.md +234 -0
- package/.agents/skills/epic-review/references/participant-path.md +44 -0
- package/.agents/skills/goal-scoping/SKILL.md +7 -0
- package/.agents/skills/goal-scoping/references/goal-scoping-workflow.md +57 -0
- package/.agents/skills/guide-authoring/SKILL.md +10 -0
- package/.agents/skills/guide-authoring/references/guide-authoring-bar.md +63 -0
- package/.agents/skills/hostile-content-quarantine/SKILL.md +8 -0
- package/.agents/skills/hostile-content-quarantine/references/hostile-content-quarantine-workflow.md +108 -0
- package/.agents/skills/ideation-sandbox/SKILL.md +8 -0
- package/.agents/skills/ideation-sandbox/audits/consensus-mandate.md +108 -0
- package/.agents/skills/ideation-sandbox/audits/discussion-lifecycle-closure.md +18 -0
- package/.agents/skills/ideation-sandbox/audits/double-diamond-divergence-guard.md +77 -0
- package/.agents/skills/ideation-sandbox/audits/pre-authoring-adjacency-sweep.md +34 -0
- package/.agents/skills/ideation-sandbox/audits/reflective-pause-trigger.md +39 -0
- package/.agents/skills/ideation-sandbox/audits/tier-2-revalidation.md +82 -0
- package/.agents/skills/ideation-sandbox/graduated-records/README.md +5 -0
- package/.agents/skills/ideation-sandbox/graduated-records/discussion_11171_update.md +45 -0
- package/.agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md +199 -0
- package/.agents/skills/identity-firewall/SKILL.md +11 -0
- package/.agents/skills/identity-firewall/audits/channel-separation.md +4 -0
- package/.agents/skills/industry-friction-radar/SKILL.md +8 -0
- package/.agents/skills/industry-friction-radar/references/industry-friction-radar-workflow.md +64 -0
- package/.agents/skills/lane-intent/SKILL.md +12 -0
- package/.agents/skills/lane-intent/references/lane-intent-protocol.md +73 -0
- package/.agents/skills/lead-role/SKILL.md +14 -0
- package/.agents/skills/lead-role/references/lead-role-mode.md +198 -0
- package/.agents/skills/memory-mining/SKILL.md +8 -0
- package/.agents/skills/memory-mining/references/memory-mining-protocol.md +115 -0
- package/.agents/skills/neo-identity-update/SKILL.md +10 -0
- package/.agents/skills/neo-identity-update/references/affected-areas-map.md +74 -0
- package/.agents/skills/neo-identity-update/references/cta-governance.md +76 -0
- package/.agents/skills/neo-identity-update/references/facts-ledger.md +28 -0
- package/.agents/skills/neo-identity-update/references/framing-governance.md +63 -0
- package/.agents/skills/neo-identity-update/references/update-protocol.md +51 -0
- package/.agents/skills/neural-link/SKILL.md +6 -0
- package/.agents/skills/neural-link/references/operational-handbook.md +62 -0
- package/.agents/skills/peer-naming/SKILL.md +10 -0
- package/.agents/skills/peer-naming/references/peer-naming-workflow.md +186 -0
- package/.agents/skills/peer-role/SKILL.md +14 -0
- package/.agents/skills/peer-role/references/peer-role-mode.md +215 -0
- package/.agents/skills/post-review-pickup/SKILL.md +8 -0
- package/.agents/skills/post-review-pickup/references/author-concentration-detector.md +70 -0
- package/.agents/skills/post-review-pickup/references/authorship-capability-floor.md +24 -0
- package/.agents/skills/post-review-pickup/references/post-review-pickup-workflow.md +168 -0
- package/.agents/skills/post-review-pickup/references/pre-review-intake-lane-gate.md +70 -0
- package/.agents/skills/pr-review/SKILL.md +11 -0
- package/.agents/skills/pr-review/assets/pr-review-followup-template.md +125 -0
- package/.agents/skills/pr-review/assets/pr-review-micro-delta-template.md +34 -0
- package/.agents/skills/pr-review/assets/pr-review-micro-review-template.md +13 -0
- package/.agents/skills/pr-review/assets/pr-review-round-2-template.md +38 -0
- package/.agents/skills/pr-review/assets/pr-review-template.md +228 -0
- package/.agents/skills/pr-review/audits/ci-security-audit.md +27 -0
- package/.agents/skills/pr-review/audits/core-idiom-audit.md +35 -0
- package/.agents/skills/pr-review/audits/cycle-1-premise-preflight.md +54 -0
- package/.agents/skills/pr-review/audits/demo-surface-motion-audit.md +40 -0
- package/.agents/skills/pr-review/audits/identity-claim-audit.md +53 -0
- package/.agents/skills/pr-review/audits/loading-runtime-effect.md +21 -0
- package/.agents/skills/pr-review/audits/review-anti-patterns.md +34 -0
- package/.agents/skills/pr-review/audits/review-cost-circuit-breaker.md +23 -0
- package/.agents/skills/pr-review/references/audits/decile-anchors.md +11 -0
- package/.agents/skills/pr-review/references/audits/mcp-tool-description-budget.md +49 -0
- package/.agents/skills/pr-review/references/close-target-remediation.md +32 -0
- package/.agents/skills/pr-review/references/measurement-methodology.md +35 -0
- package/.agents/skills/pr-review/references/merge-hold-tokens.md +31 -0
- package/.agents/skills/pr-review/references/pr-review-guide.md +358 -0
- package/.agents/skills/pr-review/references/reviewer-instrument-audit.md +93 -0
- package/.agents/skills/pr-review/references/typed-calibration-loop.md +19 -0
- package/.agents/skills/pull-request/SKILL.md +9 -0
- package/.agents/skills/pull-request/assets/review-response-template.md +37 -0
- package/.agents/skills/pull-request/audits/branch-discipline-check.md +59 -0
- package/.agents/skills/pull-request/audits/consensus-gate-mirror.md +55 -0
- package/.agents/skills/pull-request/references/ci-green-review-routing.md +104 -0
- package/.agents/skills/pull-request/references/corrective-authorship-rotation.md +19 -0
- package/.agents/skills/pull-request/references/cross-family-mandate.md +56 -0
- package/.agents/skills/pull-request/references/env-var-rename-rule.md +30 -0
- package/.agents/skills/pull-request/references/foreign-ticket-restatement.md +11 -0
- package/.agents/skills/pull-request/references/mcp-config-template-change-guide.md +40 -0
- package/.agents/skills/pull-request/references/post-review-followup-surfacing.md +37 -0
- package/.agents/skills/pull-request/references/pull-request-workflow.md +359 -0
- package/.agents/skills/pull-request/references/review-response-protocol.md +173 -0
- package/.agents/skills/release-notes/SKILL.md +6 -0
- package/.agents/skills/release-notes/references/release-notes-workflow.md +98 -0
- package/.agents/skills/self-repair/SKILL.md +7 -0
- package/.agents/skills/self-repair/references/self-repair-protocol.md +61 -0
- package/.agents/skills/session-sunset/SKILL.md +16 -0
- package/.agents/skills/session-sunset/references/session-sunset-workflow.md +226 -0
- package/.agents/skills/skills.manifest.json +183 -0
- package/.agents/skills/skills.manifest.schema.json +121 -0
- package/.agents/skills/structural-pre-flight/SKILL.md +10 -0
- package/.agents/skills/structural-pre-flight/references/structural-pre-flight-workflow.md +224 -0
- package/.agents/skills/tech-debt-radar/SKILL.md +8 -0
- package/.agents/skills/tech-debt-radar/references/tech-debt-radar-guide.md +42 -0
- package/.agents/skills/ticket-create/SKILL.md +10 -0
- package/.agents/skills/ticket-create/references/ticket-create-workflow.md +218 -0
- package/.agents/skills/ticket-intake/SKILL.md +12 -0
- package/.agents/skills/ticket-intake/references/adr-successor-risk-audit.md +68 -0
- package/.agents/skills/ticket-intake/references/self-authored-carve.md +48 -0
- package/.agents/skills/ticket-intake/references/substrate-sufficiency-audit.md +15 -0
- package/.agents/skills/ticket-intake/references/successor-risk-audit.md +31 -0
- package/.agents/skills/ticket-intake/references/ticket-intake-workflow.md +159 -0
- package/.agents/skills/ticket-triage/SKILL.md +8 -0
- package/.agents/skills/ticket-triage/references/ticket-triage-workflow.md +134 -0
- package/.agents/skills/turn-memory-pre-flight/SKILL.md +10 -0
- package/.agents/skills/turn-memory-pre-flight/references/turn-memory-pre-flight-workflow.md +67 -0
- package/.agents/skills/unit-test/SKILL.md +6 -0
- package/.agents/skills/unit-test/references/unit-test.md +87 -0
- package/.agents/skills/update-roadmap/SKILL.md +6 -0
- package/.agents/skills/update-roadmap/references/update-roadmap-workflow.md +72 -0
- package/.agents/skills/video-create/SKILL.md +12 -0
- package/.agents/skills/video-create/assets/video-project-record-template.md +250 -0
- package/.agents/skills/video-create/references/native-display-capture.md +121 -0
- package/.agents/skills/video-create/references/platforms/macos-native-display-capture.md +181 -0
- package/.agents/skills/video-create/references/video-create-workflow.md +262 -0
- package/.agents/skills/whitebox-e2e/SKILL.md +9 -0
- package/.agents/skills/whitebox-e2e/references/whitebox-e2e-protocol.md +127 -0
- package/LICENSE +21 -0
- package/README.md +75 -0
- package/package.json +42 -0
- package/scripts/materialize-harness-skills.mjs +228 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Antigravity 2.x Debugging Guide
|
|
2
|
+
|
|
3
|
+
Use this guide to establish the current configuration authority before changing an Antigravity MCP setup. Product documentation and the installed bundle are the evidence sources; old workspace recipes are not.
|
|
4
|
+
|
|
5
|
+
## 1. Establish the MCP Authority
|
|
6
|
+
|
|
7
|
+
Antigravity 2.x documents two valid MCP scopes:
|
|
8
|
+
|
|
9
|
+
- global: `~/.gemini/config/mcp_config.json`
|
|
10
|
+
- workspace: `.agents/mcp_config.json`
|
|
11
|
+
|
|
12
|
+
Choose one owner for each server. A workspace definition is valid, but declaring the same server globally and in the workspace can create two independently managed subprocesses. The canonical paths come from the current [Antigravity MCP documentation](https://antigravity.google/docs/mcp).
|
|
13
|
+
|
|
14
|
+
Keep adjacent configuration families separate:
|
|
15
|
+
|
|
16
|
+
- Antigravity CLI preferences live at `~/.gemini/antigravity-cli/settings.json`; that preferences file is not the MCP registry.
|
|
17
|
+
- Workspace rules and skills live under `.agents/rules/` and `.agents/skills/`; the [Gemini CLI migration guide](https://antigravity.google/docs/gcli-migration) describes how existing `AGENTS.md`, `GEMINI.md`, skills, and MCP definitions migrate.
|
|
18
|
+
- `--user-data-dir` selects an Electron/Chromium UI profile. It does not prove or relocate the language-server MCP root. Re-probe the installed bundle after a product upgrade instead of deriving an MCP path from the UI-profile flag.
|
|
19
|
+
|
|
20
|
+
If installed behavior disagrees with the docs, collect the Antigravity version, resolve symlinks, inspect the running process arguments, and search the installed language-server binary for `mcp_config.json` plus its parent root. Record the version boundary; do not promote a compatibility path into a universal rule.
|
|
21
|
+
|
|
22
|
+
## 2. Diagnose Duplicate Processes Before Explaining Them
|
|
23
|
+
|
|
24
|
+
Do not assume a twin-language-server cause. First build a process census:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pgrep -fl 'Antigravity|language_server|mcp-server'
|
|
28
|
+
ps -o pid=,ppid=,pgid=,etime=,command= -p <pid-list>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For each Neo MCP process, capture its PID, parent PID, process group, working directory, and command. Then inspect both documented MCP authorities. A duplication claim is established only when the same logical server has multiple live owners or definitions.
|
|
32
|
+
|
|
33
|
+
Correction order:
|
|
34
|
+
|
|
35
|
+
1. Decide whether the server is global or workspace-owned.
|
|
36
|
+
2. Remove only the duplicate definition from the other authority.
|
|
37
|
+
3. Fully quit and relaunch Antigravity so the MCP client performs a fresh handshake.
|
|
38
|
+
4. Repeat the process census and the server healthchecks.
|
|
39
|
+
|
|
40
|
+
## 3. Keep Neo Lifecycle Ownership Intact
|
|
41
|
+
|
|
42
|
+
Neo MCP servers are stdio clients of shared services; the orchestrator owns background Chroma, summary, Dream, and sync schedules. Do not reintroduce per-server `autoStartDatabase` or related auto-* flags to repair an Antigravity symptom. That recreates the retired per-instance lifecycle and can multiply work across harness-spawned servers.
|
|
43
|
+
|
|
44
|
+
Verify the four frontier-harness servers independently:
|
|
45
|
+
|
|
46
|
+
- GitHub Workflow
|
|
47
|
+
- Knowledge Base
|
|
48
|
+
- Memory Core
|
|
49
|
+
- Neural Link
|
|
50
|
+
|
|
51
|
+
A healthy tool surface with a broken MCP settings panel is a UI-state incident, not proof that the backend servers failed.
|
|
52
|
+
|
|
53
|
+
## 4. Investigate a Spinner or `__store` Failure Safely
|
|
54
|
+
|
|
55
|
+
The historical `__store` null signature has involved stale workspace UI state, but the signature alone does not establish the current cause. Start read-only:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
find "$HOME/Library/Application Support/Antigravity/User/workspaceStorage" -name workspace.json 2>/dev/null
|
|
59
|
+
sqlite3 "$HOME/Library/Application Support/Antigravity/User/globalStorage/state.vscdb" \
|
|
60
|
+
"SELECT key FROM ItemTable WHERE key LIKE '%sidebarWorkspaces%';"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Before mutating sqlite state, quit Antigravity and create a database backup. If the exact stale key is present and the operator has authorized repair, delete only that key, relaunch, and re-run the healthchecks. Do not purge auth tokens, caches, or entire workspace-storage trees as a first response.
|
|
64
|
+
|
|
65
|
+
## 5. Validate Tool-Shape Changes with a Fresh Client
|
|
66
|
+
|
|
67
|
+
The primary IDE connection can retain an older MCP tool manifest after server code changes. Use Neo's isolated client to prove the live shape:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
node ai/mcp/client/mcp-cli.mjs --server memory-core --call-tool "your_modified_tool" '{"param":"test"}'
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
This creates a fresh client/server handshake without treating a cached IDE definition as current evidence.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: epic-create
|
|
3
|
+
description: "Authoritative protocol for authoring an Epic body — the creation-side dual of `ticket-create` + entry partner of `epic-review`/`epic-resolution`. Enforces: epic body = problem-scope + intended-solution (NOT pseudo-subs / ACs); ACs live in the SUB tickets; subs are LINKED via `update_issue_relationship` + added incrementally; the body MUST NOT hardcode a sub-list (it stales out → FAIL). Triggers: before creating an Epic (a parent issue labeled `epic`) via `create_issue`, or before decomposing one into sub-tickets."
|
|
4
|
+
---
|
|
5
|
+
# Epic Create Skill
|
|
6
|
+
If you are about to author an Epic (a parent issue labeled `epic`) or decompose one into sub-tickets, you MUST immediately use the `view_file` tool to read and strictly adhere to `.agents/skills/epic-create/references/epic-create-workflow.md` before proceeding.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Epic Creation Workflow
|
|
2
|
+
|
|
3
|
+
Authoritative protocol for authoring an **Epic** body — the creation-side dual of `ticket-create`, and the entry partner of `epic-review` (pre-work review) + `epic-resolution` (closeout). An Epic is a parent issue (label `epic`) that coordinates multiple sub-tickets toward one shared outcome.
|
|
4
|
+
|
|
5
|
+
## The Core Rule: an Epic body describes the PROBLEM, not the plan
|
|
6
|
+
|
|
7
|
+
An Epic body is **problem-scope + intended-solution** — the durable "why + what-shape." It is NOT a container for the sub-decomposition or the acceptance criteria.
|
|
8
|
+
|
|
9
|
+
- **ACs live in the SUB tickets, never the Epic body.** Each sub owns its own acceptance criteria + Contract Ledger (per `ticket-create`).
|
|
10
|
+
- **Subs are LINKED, not listed.** Attach each sub to the Epic via `update_issue_relationship` (parent-child). The live sub-set is the linked relationship graph, queried on demand — NOT prose in the body.
|
|
11
|
+
- **The Epic body MUST NOT hardcode a sub-list or sub-content.** A body that enumerates "Sub 1 / Sub 2 / …" or bakes their ACs goes stale the moment a sub is added, split, renamed, or dropped → the body contradicts the relationship graph → **FAIL**. Subs are added incrementally at any time; the body must stay valid across that churn.
|
|
12
|
+
|
|
13
|
+
**Empirical anti-pattern (why this skill exists):** epics #12440 + #12442 baked full AC lists + a sub-decomposition into the body, then created the subs separately — the body now duplicates (and will out-stale) the linked subs. `epic-review`/`epic-resolution` (the entry/exit duals) existed, but no creation-side discipline did.
|
|
14
|
+
|
|
15
|
+
## What an Epic body SHOULD contain
|
|
16
|
+
|
|
17
|
+
Epic creation uses the same importance order as ticket and PR review: the problem/premise and intended placement dominate the verdict. Sub AC detail belongs in leaf tickets; an Epic with exhaustive sub mechanics but a weak premise or wrong owning substrate is not ready.
|
|
18
|
+
|
|
19
|
+
1. **Problem scope** — the friction / antipattern-cluster / goal, with empirical anchors. State why this needs an Epic (multi-sub coordination) rather than a single ticket.
|
|
20
|
+
2. **Intended solution shape** — the architectural direction (the "what-shape"), NOT the per-sub task breakdown. Enough that a reader knows the convergent shape the subs will serve.
|
|
21
|
+
3. **(If Discussion-graduated) the §6.6 Signal Ledger** — the graduation consensus record (family-keyed quorum, unresolved dissent / liveness, criteria-mapping) per `ideation-sandbox-workflow.md §6`. This is the one structured matrix that belongs in an Epic body, because it records the graduation event, not the sub-plan.
|
|
22
|
+
4. **Out of scope** — sibling efforts + explicitly-deferred directions.
|
|
23
|
+
5. **Avoided traps / rejected shapes** — the divergence preserved from the source Discussion (if any).
|
|
24
|
+
|
|
25
|
+
## What an Epic body MUST NOT contain
|
|
26
|
+
|
|
27
|
+
- A `## Acceptance Criteria` checklist — those are per-sub.
|
|
28
|
+
- A `## Sub-tickets` registry that enumerates subs with content. The body MAY reference a sub by `#N` in prose where load-bearing, but must not be the canonical sub registry (that is the `update_issue_relationship` graph).
|
|
29
|
+
- **Pseudo-subs** — placeholder sub descriptions the body pretends to own before the real subs exist.
|
|
30
|
+
|
|
31
|
+
## Sub-decomposition: the leaf-sub close-target contract
|
|
32
|
+
|
|
33
|
+
Each sub the decomposition creates MUST be a **leaf that a single PR can FULLY deliver and `Resolves`** — a hard contract, because the `lint-pr-body` CI requires every PR body to carry a `Resolves #N` where N is a fully-delivered leaf.
|
|
34
|
+
|
|
35
|
+
- **Each sub = one-PR-deliverable leaf.** Never bundle separable deliverables (e.g. "declarative reshape" + "lint guard", or "fix" + "observability") into one sub. A bundled sub cannot be cleanly `Resolves`'d by either PR → it forces mid-review leaf-splitting churn.
|
|
36
|
+
- **The Epic is the umbrella, never a PR close-target.** It carries the `epic` label, is `Refs`'d (never `Resolves`/`Closes`) by its subs' PRs, and must NEVER be a PR close-target — the `pr-review` close-target audit forbids closing an `epic`-labeled issue (an epic auto-closed while subs are still open is the canonical close-target sabotage). The Epic closes via `epic-resolution` once its leaf subs are done.
|
|
37
|
+
- **Multi-cause symptom tickets** → one leaf per cause; each PR `Resolves` its own leaf and `Refs` the symptom.
|
|
38
|
+
|
|
39
|
+
## Lifecycle position
|
|
40
|
+
|
|
41
|
+
| Skill | Phase | Owns |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| **`goal-scoping`** | Front-end (upstream) | Scope a GOAL → the set of owned LANES this skill then authors (one epic per lane); peers self-select their lane |
|
|
44
|
+
| **`epic-create`** (here) | Creation | Problem-scope + intended-solution body; `epic` label; title hygiene |
|
|
45
|
+
| `epic-review` | Pre-work entry | Roadmap fit, approach elegance, source-Discussion mapping, sub-structure coherence; seeds the Stage 3.1 closeout matrix |
|
|
46
|
+
| `epic-resolution` | Closeout exit | Reconciles delivered subs against the parent ACs (which live in the subs) |
|
|
47
|
+
|
|
48
|
+
## Procedure
|
|
49
|
+
|
|
50
|
+
1. **Confirm Epic-shape.** The work needs ≥2 coordinated subs. A single bounded artifact (≈1 PR's worth) is a standalone ticket (`ticket-create`), not an Epic.
|
|
51
|
+
2. **Run the Agent OS structure map.** Before authoring the body, run `npm run --silent ai:structure-map -- --files --loc`; use it for Agent OS / architecture placement claims or record N/A.
|
|
52
|
+
3. **Graduation gate (if from a Discussion).** High-blast Epics require the §6.2 family-keyed quorum + the §5.1 divergence matrix in the source Discussion before filing (per `ideation-sandbox-workflow.md` + `ideation-sandbox/audits/double-diamond-divergence-guard.md`). Carry the `Signal Ledger` / dissent / liveness / criteria-mapping sections into the body.
|
|
53
|
+
4. **Author the body** = problem-scope + intended-solution (+ ledger if graduated). NO ACs, NO sub-list.
|
|
54
|
+
5. **Label `epic`** + apply title hygiene (per `ticket-create`).
|
|
55
|
+
6. **Create subs separately** (via `ticket-create` — each with its own ACs + Contract Ledger) and **link each via `update_issue_relationship`** (parent = the Epic). Add subs incrementally as decomposition clarifies; that governs Epic life. Goal-scoping graduation is stricter: full v1 leaves are filed/native-linked, while the Epic body stays sub-list-free.
|
|
56
|
+
7. **Verify** (pre-flight, before `create_issue`):
|
|
57
|
+
- [ ] Body contains **no** `## Acceptance Criteria` block.
|
|
58
|
+
- [ ] Body contains **no** hardcoded sub-registry (subs discoverable via parent-child relationship instead).
|
|
59
|
+
- [ ] Body answers "why an Epic (multi-sub coordination), not a single ticket?".
|
|
60
|
+
- [ ] Structure-map gate executed or N/A recorded.
|
|
61
|
+
- [ ] If Discussion-graduated: `Signal Ledger` present + quorum met.
|
|
62
|
+
- [ ] Each planned sub is a one-PR-deliverable **leaf** (no bundled separable deliverables); the Epic is `Refs`'d by subs, never a PR close-target.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: epic-resolution
|
|
3
|
+
description: "Closeout protocol for parent epics — answers \"we resolved all epic subs, are we done now?\" with a structured matrix + verdict recommendation (close / keep open / create missing subs / retire-supersede). Sibling to epic-review (which handles entry); this is the exit gate. Triggers: Use this skill when the last required sub of an epic closes, when a team member claims an epic is complete or substrate-side complete, before closing an epic as COMPLETED, or when a peer broadcasts an epic-readiness signal that needs reconciliation against parent ACs."
|
|
4
|
+
---
|
|
5
|
+
# Epic Resolution
|
|
6
|
+
If you are about to declare an epic complete, close an epic, propose creating new subs to complete one, or react to a peer broadcast that an epic is "ready for handoff" / "components look solid", you MUST immediately use the `view_file` tool to read and strictly adhere to `.agents/skills/epic-resolution/references/epic-resolution-workflow.md` before posting any verdict or recommendation.
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Epic Resolution Workflow
|
|
2
|
+
|
|
3
|
+
Closeout gate for parent epics. Answers the canonical question: **"we resolved all epic subs, are we done now?"**
|
|
4
|
+
|
|
5
|
+
Sibling to `epic-review` (which is the *entry* gate at sub-creation time). `epic-resolution` is the *exit* gate at sub-closure time. Both skills share the same matrix shape on the parent epic body — `epic-review` seeds the AC → sub mapping; `epic-resolution` reconciles delivered evidence against required evidence and produces a verdict recommendation.
|
|
6
|
+
|
|
7
|
+
**Origin:** Discussion #10697 + issue #10698. Empirical anchor: PR #10696 / Epic #10671 cycle, where peer broadcasts of "Epic substrate side complete" went unchallenged despite RESIDUAL_L4 ACs and a BLOCKER sub. Mental model per @tobiu: "turn friction into gold."
|
|
8
|
+
|
|
9
|
+
## 1. When to invoke this skill
|
|
10
|
+
|
|
11
|
+
Trigger conditions (any one fires the workflow):
|
|
12
|
+
|
|
13
|
+
1. **Last required sub closes.** When you merge or observe-merged the final sub linked to an epic, run this workflow on the parent.
|
|
14
|
+
2. **Peer broadcasts epic-readiness.** Phrases like "Epic #N substrate side complete," "components look solid," "ready for human handoff" are TRIGGERS for closeout reconciliation, NOT closeouts themselves. Run the workflow before agreeing.
|
|
15
|
+
3. **Team member claims completion.** A team member (operator or peer agent) directly states an epic is done.
|
|
16
|
+
4. **Before closing an epic as COMPLETED.** Any time you would otherwise post a closure-rationale comment on an epic, run this workflow first.
|
|
17
|
+
|
|
18
|
+
**Trigger does NOT fire for:** routine sub-merge events that aren't the last required sub; epics where ACs have not been formally articulated; non-epic issues.
|
|
19
|
+
|
|
20
|
+
## 2. Concurrency guard (epic-closeout discipline-layer mutex)
|
|
21
|
+
|
|
22
|
+
Before populating the matrix, check whether another agent is already running the closeout for this epic.
|
|
23
|
+
|
|
24
|
+
**Steps:**
|
|
25
|
+
1. Read the recent comments on the epic. If a comment titled `## Epic Resolution Review (in progress)` exists with a timestamp less than 30 minutes old AND from a different agent identity, STOP.
|
|
26
|
+
2. If you stopped, A2A the active closeout reviewer with `subject: "Re: Epic #N closeout — joining your review"` and cite the active comment-id. Do NOT post a parallel verdict.
|
|
27
|
+
3. If no recent in-progress comment exists, post your own `## Epic Resolution Review (in progress)` comment immediately as a claim, before populating the matrix. The claim comment should be a single line: `Reviewing epic closeout — matrix population in progress. Started by @<your-identity> at <ISO-timestamp>.`
|
|
28
|
+
4. Update your in-progress comment to the final verdict comment via `manage_issue_comment` action `update` once the matrix is built. The same comment evolves from claim → verdict.
|
|
29
|
+
|
|
30
|
+
**Optional primary-owner restriction:** if the epic has an explicit assignee, only the assignee runs the closeout. Other agents detecting the trigger A2A-ping the assignee instead of running the workflow.
|
|
31
|
+
|
|
32
|
+
## 3. Populate the matrix
|
|
33
|
+
|
|
34
|
+
The shared matrix shape (used by both `epic-review` entry-pass and `epic-resolution` exit-pass):
|
|
35
|
+
|
|
36
|
+
```md
|
|
37
|
+
| Parent AC | Required evidence | Owning sub(s) | Delivered PR(s) | Achieved evidence | Residual state |
|
|
38
|
+
|---|---|---|---|---|---|
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
For each parent AC of the epic:
|
|
42
|
+
|
|
43
|
+
1. **Parent AC** — quote or reference the AC text from the epic body.
|
|
44
|
+
2. **Required evidence** — L1 / L2 / L3 / L4 per the [Substrate Evidence Ladder](../../../../learn/agentos/process/evidence-ladder.md). The `epic-review` entry pass should have set this; if missing, derive from the AC text (does it require runtime / live / observable behavior?).
|
|
45
|
+
3. **Owning sub(s)** — the sub-issue(s) addressing this AC. From the epic's native sub-issue links (`update_issue_relationship` graph) or AC-explicit references.
|
|
46
|
+
4. **Delivered PR(s)** — the merged PR(s) closing each sub. Use `gh pr list --search "linked-to:<sub-number>"` or check sub-issue's `closedByPullRequestsReferences`.
|
|
47
|
+
5. **Achieved evidence** — read the merged PR body's `Evidence:` declaration. If two ceilings (sandbox vs achievable), report both: `L2 (sandbox) / L4 (achievable)`. If no Evidence declaration, mark as `L?? — declaration missing` and flag in residuals.
|
|
48
|
+
6. **Residual state** — one of:
|
|
49
|
+
- `none — closed` (achieved >= required)
|
|
50
|
+
- `RESIDUAL_L<N> — <reason>` (operator handoff window pending, etc.)
|
|
51
|
+
- `BLOCKER` (sub not started, sub failing, evidence below required with no path to close)
|
|
52
|
+
- `RESIDUAL_AC<N> [#<followup-ticket>]` (split-follow-up filed for unproven AC)
|
|
53
|
+
|
|
54
|
+
## 3.5. Source Discussion Closeout Gate
|
|
55
|
+
|
|
56
|
+
**Trigger:** Epic body cites a source Discussion (e.g., `Resolves Discussion #N`, `Graduates from Discussion #N`, or contains a Signal Ledger), OR the Epic was created via `epic-review` Stage 2.5 mapping (#11349) and has a `## Source Discussion Criteria Mapping` section. **N/A** for standalone Epics with no source Discussion — skip directly to §4.
|
|
57
|
+
|
|
58
|
+
Before §4 verdict computation, reconcile upstream Discussion criteria against delivered Epic substrate. The Closeout Gate sits alongside §3's matrix and uses Discussion criteria as the row key:
|
|
59
|
+
|
|
60
|
+
```md
|
|
61
|
+
| Source Discussion criterion | Epic AC(s) | Owning sub(s) | Delivered PR(s) | Achieved evidence | Residual / deferral |
|
|
62
|
+
|---|---|---|---|---|---|
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
For each criterion from the source Discussion's Graduation Criteria section (the post-consensus criterion list, NOT the open-question list):
|
|
66
|
+
|
|
67
|
+
1. **Source Discussion criterion** — quote or reference the criterion text from the Discussion body. Each `[RESOLVED_TO_AC]` Cycle 2 resolution + each Graduation Criteria bullet + each Pilot Shape commitment counts as a criterion.
|
|
68
|
+
2. **Epic AC(s)** — which Epic AC row(s) cover this criterion. If multiple criteria collapse to one Epic AC, that's fine — note the AC reference once. If no Epic AC covers the criterion, the row's residual is `LOST` (see below).
|
|
69
|
+
3. **Owning sub(s) / Delivered PR(s) / Achieved evidence** — derived from §3 matrix row(s) for the corresponding Epic AC.
|
|
70
|
+
4. **Residual / deferral** — one of:
|
|
71
|
+
- `none — delivered via AC<N>` (criterion fully realized in the Epic substrate)
|
|
72
|
+
- `EXPLICITLY DEFERRED — <rationale>` (criterion intentionally not addressed in this Epic; rationale must be public + part of original graduation acceptance OR documented in epic body)
|
|
73
|
+
- `CONVERTED TO FOLLOW-UP [#<followup-ticket>]` (criterion split out to a separate ticket post-graduation; ticket must exist + be reachable)
|
|
74
|
+
- `LOST` (criterion not mapped to any Epic AC; not explicitly deferred; not converted) — this is the silent-promise-loss class
|
|
75
|
+
|
|
76
|
+
**Verdict integration:** the Closeout Gate output feeds §4 verdict computation. Any `LOST` criterion blocks `RECOMMEND_CLOSE_COMPLETED` even when all §3 Epic AC rows are green. The remediation path:
|
|
77
|
+
|
|
78
|
+
- **Recoverable in existing subs:** if the LOST criterion can be addressed by extending an existing sub's scope, recommend `KEEP_OPEN` + flag the sub for scope-extension
|
|
79
|
+
- **Requires new sub:** if the LOST criterion needs new substrate work, recommend `CREATE_MISSING_SUBS` per the standard §4 + §5 path
|
|
80
|
+
- **Was-actually-deferrable:** if the LOST criterion was implicitly deferred during graduation and just never explicitly captured, file a `CONVERTED TO FOLLOW-UP` ticket retroactively + update the gate row before re-verdict
|
|
81
|
+
|
|
82
|
+
`EXPLICITLY DEFERRED` and `CONVERTED TO FOLLOW-UP` are acceptable closeout states with same tracked-elsewhere semantics as §3 `RESIDUAL_<X> [#<followup-ticket>]`.
|
|
83
|
+
|
|
84
|
+
**Empirical anchor:** Discussion #11341 → ticket #11342 chain. The Discussion's `[RESOLVED_TO_AC]` Cycle 2 resolutions (≥30% demotion threshold + Markdown Form distinction + #11330-bound measurement + Pilot Shape: INV1 cascade detail with measurement contract) became #11342 ACs via `epic-review` Stage 2.5 mapping (#11349). At closeout this gate verifies each `[RESOLVED_TO_AC]` line and the Pilot Shape AC are delivered, explicitly deferred, or converted. Without this gate, the Pilot's "≥30% byte reduction" criterion could silently drift to "some byte reduction" if Epic ACs were diluted at creation time and never re-checked at closure.
|
|
85
|
+
|
|
86
|
+
## 4. Compute the verdict
|
|
87
|
+
|
|
88
|
+
Apply the verdict logic in this order (highest precedence first):
|
|
89
|
+
|
|
90
|
+
| Condition | Verdict |
|
|
91
|
+
|---|---|
|
|
92
|
+
| Any source Discussion criterion in `LOST` state per §3.5 Closeout Gate | `RECOMMEND_KEEP_OPEN` (if recoverable in existing subs) OR `RECOMMEND_CREATE_MISSING_SUBS` (if new sub needed) |
|
|
93
|
+
| Any row has `BLOCKER` state | `RECOMMEND_KEEP_OPEN` |
|
|
94
|
+
| Any row has `RESIDUAL_L<N>` AND no follow-up ticket exists | `RECOMMEND_CREATE_MISSING_SUBS` |
|
|
95
|
+
| All rows are `none — closed` OR `RESIDUAL_<X> [#<followup-ticket>]` (residuals tracked elsewhere) AND §3.5 Closeout Gate passes or is N/A | `RECOMMEND_CLOSE_COMPLETED` |
|
|
96
|
+
| Epic's purpose has been superseded by another effort, later ADR / Decision Record authority, or the AC framing is no longer valid | `RECOMMEND_RETIRE_OR_SUPERSEDE` |
|
|
97
|
+
|
|
98
|
+
If an epic closeout hinges on ADR chronology, apply the ADR successor-risk audit before computing the verdict. The closeout comment must name the related ADR, whether it supersedes the epic or requires a challenge/amendment path, and the public evidence that supports the route.
|
|
99
|
+
|
|
100
|
+
**Verdict authority:** the skill produces a structured review + recommendation. **Terminal-action shape depends on the verdict**:
|
|
101
|
+
|
|
102
|
+
- **`RECOMMEND_CLOSE_COMPLETED` (with zero unresolved residuals)**: the reviewer-agent SHOULD close the epic as completed via `gh issue close --reason completed` as the natural downstream of the review. The review IS the gate; the close-act is not a separate operator-gate. **This is NOT a §0 Invariant 1 parallel** — §0 strictly forbids `gh pr merge` (PR merge action only); epic-close is downstream of the review verdict, not in §0 scope. Failing to close after a clean CLOSE_COMPLETED verdict produces stale-pending-action board pollution (empirical anchor: #10691 verdict 2026-05-04 → epic closed 2026-05-11 after operator surfaced the misframing).
|
|
103
|
+
|
|
104
|
+
- **`RECOMMEND_KEEP_OPEN`**: no terminal action. Review surfaces blockers/residuals; operator or sub-owner decides path forward.
|
|
105
|
+
|
|
106
|
+
- **`RECOMMEND_CREATE_MISSING_SUBS`**: no terminal action. Recommendation surfaces; operator authorizes new-sub creation; assigned owner files via `/ticket-create`.
|
|
107
|
+
|
|
108
|
+
- **`RECOMMEND_RETIRE_OR_SUPERSEDE`**: no terminal action. Reviewer-agent does NOT auto-close-as-not-planned; operator authority for substrate-cohesion reasons (potential separate substrate concern — could be sub-issue if a §0-parallel claim is correct for retire-action specifically).
|
|
109
|
+
|
|
110
|
+
For `RECOMMEND_CREATE_MISSING_SUBS`:
|
|
111
|
+
1. List the gaps explicitly (which AC, what evidence is missing).
|
|
112
|
+
2. Identify proposed owners (agents) for each new sub. If unclear, A2A the team to volunteer.
|
|
113
|
+
3. Coordinate via A2A — DO NOT autonomously create the new subs without operator approval.
|
|
114
|
+
4. The skill output recommends; the operator authorizes; the assigned owner files via `ticket-create`.
|
|
115
|
+
|
|
116
|
+
For `RECOMMEND_RETIRE_OR_SUPERSEDE`:
|
|
117
|
+
1. Articulate the rationale clearly (what changed since the epic was filed; what supersedes it).
|
|
118
|
+
2. Cross-reference the superseding epic / discussion if any.
|
|
119
|
+
3. Operator acts on the recommendation.
|
|
120
|
+
|
|
121
|
+
## 5. Post the verdict comment
|
|
122
|
+
|
|
123
|
+
Update your `## Epic Resolution Review (in progress)` comment to the final shape via `manage_issue_comment` action `update`:
|
|
124
|
+
|
|
125
|
+
```md
|
|
126
|
+
## Epic Resolution Review
|
|
127
|
+
|
|
128
|
+
**Reviewer:** @<your-identity>
|
|
129
|
+
**Started:** <ISO-timestamp> (in-progress claim)
|
|
130
|
+
**Completed:** <ISO-timestamp>
|
|
131
|
+
**Verdict:** RECOMMEND_<CLOSE_COMPLETED | KEEP_OPEN | CREATE_MISSING_SUBS | RETIRE_OR_SUPERSEDE>
|
|
132
|
+
|
|
133
|
+
### Matrix
|
|
134
|
+
|
|
135
|
+
| Parent AC | Required evidence | Owning sub(s) | Delivered PR(s) | Achieved evidence | Residual state |
|
|
136
|
+
|---|---|---|---|---|---|
|
|
137
|
+
| ... | ... | ... | ... | ... | ... |
|
|
138
|
+
|
|
139
|
+
### Rationale
|
|
140
|
+
|
|
141
|
+
<2-4 paragraphs explaining the verdict. For KEEP_OPEN: which residuals/blockers + path to close. For CREATE_MISSING_SUBS: enumerate gaps + proposed owners. For RETIRE: superseding artifact. For CLOSE_COMPLETED: confirmation that all residuals are tracked elsewhere.>
|
|
142
|
+
|
|
143
|
+
### Required operator action
|
|
144
|
+
|
|
145
|
+
<For RECOMMEND_CLOSE_COMPLETED: "Close epic as completed when convenient." For RECOMMEND_CREATE_MISSING_SUBS: "Authorize creation of N new subs (proposed owners listed above)." Etc.>
|
|
146
|
+
|
|
147
|
+
### A2A coordination
|
|
148
|
+
|
|
149
|
+
<List peers A2A'd, with subject + commentId for the operator's audit trail.>
|
|
150
|
+
|
|
151
|
+
Origin Session ID: <your session UUID>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 6. A2A peer coordination
|
|
155
|
+
|
|
156
|
+
After posting the verdict comment, A2A the relevant peers:
|
|
157
|
+
|
|
158
|
+
- For `RECOMMEND_CLOSE_COMPLETED`: A2A all agents who had subs in the epic, FYI of closure recommendation.
|
|
159
|
+
- For `RECOMMEND_KEEP_OPEN` with BLOCKER: A2A the blocked sub's owner with the blocker rationale + ask whether they need help unblocking.
|
|
160
|
+
- For `RECOMMEND_CREATE_MISSING_SUBS`: A2A proposed owners with the gap + ask whether they accept ownership.
|
|
161
|
+
- For `RECOMMEND_RETIRE_OR_SUPERSEDE`: A2A the superseding effort's owner with the link.
|
|
162
|
+
|
|
163
|
+
Per `feedback_a2a_commentid_pre_flight`: post the verdict comment FIRST, capture the literal commentId, THEN compose the A2A messages with the literal commentId substituted.
|
|
164
|
+
|
|
165
|
+
## 7. Cross-references
|
|
166
|
+
|
|
167
|
+
- `learn/agentos/process/evidence-ladder.md` — L1-L4 definitions + matrix schema authority
|
|
168
|
+
- `.agents/skills/epic-review/` — entry-pass sibling (seeds matrix at sub-creation time + Source Discussion Criteria Mapping per Stage 2.5 #11349)
|
|
169
|
+
- `.agents/skills/pr-review/` — sub-execution gate (audits Evidence declaration on each merging PR)
|
|
170
|
+
- `.agents/skills/pull-request/` — author-side Evidence declaration template
|
|
171
|
+
- `.agents/skills/ticket-create/` — invoked by the operator on `RECOMMEND_CREATE_MISSING_SUBS`
|
|
172
|
+
- AGENTS.md §0 Invariant 1 — PR-merge gate (NOT a verdict-authority parallel; §4 above documents why epic-close is downstream of the review verdict, not in §0 scope). Cross-referenced here because both invariants share the empirical pattern of agent-derived-recommendation + operator-authorized-action, but the substrate-effect / reversibility / blast-radius profiles differ materially.
|
|
173
|
+
- Discussion #10697 — origin ideation
|
|
174
|
+
- Issue #10698 — graduation artifact
|
|
175
|
+
|
|
176
|
+
## 8. Empirical anchor — Epic #10671 (motivating example)
|
|
177
|
+
|
|
178
|
+
> ⚠️ **Frozen teaching example — not a live verdict.** The matrix below is Epic #10671's state *as of 2026-05-04* (when this section was authored), kept to illustrate the `RECOMMEND_KEEP_OPEN` *reasoning*. It is deliberately **decoupled from live ticket state** — never copy its verdict. For any epic (including #10671 today), **re-derive the verdict from current sub/PR state** (`gh` / GraphQL), as §1–§7 require. A snapshot pinned to a live ticket inevitably inverts as the organism evolves; the freeze-date is its sunset marker.
|
|
179
|
+
>
|
|
180
|
+
> **Lifecycle update:** #10671 has since closed `CLOSE_COMPLETED` (2026-06-05) — 19/19 subs closed; the blockers below (#10676 / #10679 / #10696) all resolved. The `KEEP_OPEN → CLOSE` arc is the lesson: the *reasoning* held; the *verdict* moved because the live state moved.
|
|
181
|
+
|
|
182
|
+
Snapshot as authored (2026-05-04) — the epic whose closeout-friction motivated #10697 + #10698:
|
|
183
|
+
|
|
184
|
+
- 9 subs across substrate-restart components (forensic, detector, in-flight lock, idle-out, sunset-mode, harness adapters, Codex Desktop primitive, mock-test discipline)
|
|
185
|
+
- Most subs delivered at L2 (mock dispatch) or L3 (live binary verification by reviewer)
|
|
186
|
+
- AC5 verify-effect (sessionId distinctness via MCP from spawned session) = RESIDUAL_L4 across #10676, #10695, #10696
|
|
187
|
+
- #10679 (Codex Desktop primitive) = BLOCKER (sub blocked on MC startup diagnosis)
|
|
188
|
+
- Verdict *at that snapshot*: `RECOMMEND_KEEP_OPEN` until either #10696 merges + AC5 L4 logged + #10679 unblocks, OR #10679 explicitly retired with rationale
|
|
189
|
+
|
|
190
|
+
When you run this skill against any epic, populate the matrix from current public sub/PR state and let it produce the live verdict. If your result differs from a frozen snapshot, the snapshot is stale — not your run.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: epic-review
|
|
3
|
+
description: "Authoritative protocol for pre-work review of epics. Six-stage gating chain — roadmap fit, approach elegance, source discussion mapping, sub-structure coherence, prescription layer, avoided-traps completeness — posted as a structured comment on the epic ticket. Per-agent-per-epic one-shot; subsequent sub pickups cite the prior review. Triggers: Use this skill when an agent is about to pick up its first sub from an unreviewed epic (per model-identity OTHER than the epic's author — you never review your own epic). Also use when a user explicitly requests an epic review, or when an epic is freshly filed and a reviewer pre-validates before any sub pickup begins. Participated in the source Discussion? The participant path narrows the chain; it never exempts it."
|
|
4
|
+
---
|
|
5
|
+
# Epic Review Skill
|
|
6
|
+
|
|
7
|
+
If you are about to pick up your first sub-issue from an epic that your model-identity has not yet reviewed, you MUST immediately use the `view_file` tool to read and strictly adhere to `.agents/skills/epic-review/references/epic-review-workflow.md` before running `ticket-intake` or any sub-work steps.
|
|
8
|
+
|
|
9
|
+
Subsequent sub pickups from the same epic by the same model-identity cite the prior review by URL reference instead of re-running the skill.
|
|
10
|
+
|
|
11
|
+
Authored this epic yourself, or participated in its source Discussion? Read `references/participant-path.md` first.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Epic Review Comment Template
|
|
3
|
+
Post via manage_issue_comment with action=create on the epic ticket.
|
|
4
|
+
Short form vs long form depends on stage 1-2.5 gating outcome.
|
|
5
|
+
Remove HTML comments before posting.
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
## Epic Review by [model-identity] ([harness])
|
|
9
|
+
|
|
10
|
+
### Stage 1 — Roadmap Fit
|
|
11
|
+
|
|
12
|
+
[✅ / ❌]
|
|
13
|
+
|
|
14
|
+
[1-2 sentences on current strategic alignment. Cite Golden Path node, Memory Core context, or sibling epic # if relevant.]
|
|
15
|
+
|
|
16
|
+
<!-- If Stage 1 = ❌, stop here and close with a challenge section: -->
|
|
17
|
+
<!--
|
|
18
|
+
### Challenge
|
|
19
|
+
|
|
20
|
+
[Named alternative: merge with epic #N, postpone until #M ships, reframe as X.]
|
|
21
|
+
|
|
22
|
+
[Rationale: why this epic as currently framed does not fit the roadmap.]
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Origin Session ID: [reviewer's session UUID]
|
|
27
|
+
-->
|
|
28
|
+
|
|
29
|
+
### Stage 2 — Approach Elegance
|
|
30
|
+
|
|
31
|
+
[✅ / ❌]
|
|
32
|
+
|
|
33
|
+
[1-2 sentences on architectural load-bearing of the approach. Cite reuse-vs-parallel-substrate observation, Gold Standard match or divergence, testability.]
|
|
34
|
+
|
|
35
|
+
<!-- If Stage 2 = ❌, stop here with an alternative proposal: -->
|
|
36
|
+
<!--
|
|
37
|
+
### Alternative Approach
|
|
38
|
+
|
|
39
|
+
[Named alternative with 2-3 sentence architectural rationale.]
|
|
40
|
+
|
|
41
|
+
[Expected effort delta, substrate-reuse benefit, or risk reduction vs current framing.]
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
Origin Session ID: [reviewer's session UUID]
|
|
46
|
+
-->
|
|
47
|
+
|
|
48
|
+
### Stage 2.5 — Source Discussion Criteria Mapping Gate
|
|
49
|
+
|
|
50
|
+
[✅ / ❌ / N/A]
|
|
51
|
+
|
|
52
|
+
[1-2 sentences verifying that all Graduation Criteria from the source Discussion have been correctly mapped to the Epic ACs/subs.]
|
|
53
|
+
|
|
54
|
+
<!-- If Stage 2.5 = ❌, stop here with revisions requested: -->
|
|
55
|
+
<!--
|
|
56
|
+
### Missing/Incomplete Criteria Mapping
|
|
57
|
+
|
|
58
|
+
[Specific list of missing, incomplete, or unexplained dropped criteria that were required by the source Discussion.]
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
Origin Session ID: [reviewer's session UUID]
|
|
63
|
+
-->
|
|
64
|
+
|
|
65
|
+
### Stage 3 — Sub-Structure Coherence
|
|
66
|
+
|
|
67
|
+
[✅ / ❌ / ⚠️]
|
|
68
|
+
|
|
69
|
+
[Findings: coverage gaps, overlapping subs, phase-boundary circularity, missing prerequisite subs. Call out specific sub # and concern.]
|
|
70
|
+
|
|
71
|
+
### Stage 4 — Prescription Layer
|
|
72
|
+
|
|
73
|
+
[✅ / ❌ / ⚠️]
|
|
74
|
+
|
|
75
|
+
[Per-sub findings — call out only subs where prescription layer is questionable. Subs passing ✅ do not need individual mention.]
|
|
76
|
+
|
|
77
|
+
### Stage 5 — Avoided Traps Completeness
|
|
78
|
+
|
|
79
|
+
[✅ / ❌ / ⚠️]
|
|
80
|
+
|
|
81
|
+
[Suggested additions if gaps exist. Reference training-data anchor drift candidates if relevant.]
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
**Review verdict:** [Greenlight / Revisions Requested / Block]
|
|
86
|
+
|
|
87
|
+
Origin Session ID: [reviewer's session UUID]
|