thoth-agents 0.3.10 → 0.3.12
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/README.md +119 -33
- package/dist/{chunk-TKIDBRM3.js → chunk-5UBJB5QO.js} +4 -1
- package/dist/{chunk-M2WF46BP.js → chunk-DX4U3AD3.js} +387 -231
- package/dist/{chunk-JBG7XMIG.js → chunk-VPVBYBPU.js} +602 -180
- package/dist/cli/codex-plugin-install.d.ts +16 -2
- package/dist/cli/index.js +7 -5
- package/dist/cli/tui/index.js +2 -2
- package/dist/config/constants.d.ts +3 -3
- package/dist/harness/adapters/claude-code.d.ts +8 -0
- package/dist/harness/adapters/codex-surfaces.d.ts +2 -2
- package/dist/harness/core/agent-pack.d.ts +60 -5
- package/dist/harness/core/sdd.d.ts +32 -19
- package/dist/harness/writers/codex-plugin-package.d.ts +1 -0
- package/dist/index.js +2 -2
- package/package.json +4 -4
- package/plugin/.claude-plugin/.thoth-agents-plugin-assets.json +7 -7
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/agents/deep.md +10 -31
- package/plugin/agents/designer.md +10 -31
- package/plugin/agents/explorer.md +10 -30
- package/plugin/agents/librarian.md +10 -30
- package/plugin/agents/oracle.md +11 -31
- package/plugin/agents/orchestrator.md +48 -35
- package/plugin/agents/quick.md +10 -31
- package/plugin/skills/plan-reviewer/SKILL.md +54 -15
- package/plugin/skills/thoth-archive/SKILL.md +5 -0
- package/plugin/skills/thoth-archive/scripts/archive.mjs +30 -10
- package/plugin/skills/thoth-constitution/SKILL.md +5 -0
- package/plugin/skills/thoth-constitution/templates/constitution.md +19 -2
- package/plugin/skills/thoth-init/SKILL.md +5 -0
- package/plugin/skills/thoth-sdd/SKILL.md +48 -11
- package/plugin/skills/thoth-sdd/references/phases/implement.md +44 -6
- package/plugin/skills/thoth-sdd/references/phases/tasks.md +23 -2
- package/plugin/skills/thoth-sdd/references/phases/verify.md +7 -5
- package/plugin/skills/thoth-sdd/scripts/validate.mjs +263 -30
- package/plugin/skills/thoth-sdd/templates/tasks.md +18 -2
- package/skills/README.md +2 -1
- package/skills/plan-reviewer/SKILL.md +54 -15
- package/skills/thoth-archive/SKILL.md +5 -0
- package/skills/thoth-archive/scripts/archive.mjs +30 -10
- package/skills/thoth-constitution/SKILL.md +5 -0
- package/skills/thoth-constitution/templates/constitution.md +19 -2
- package/skills/thoth-init/SKILL.md +5 -0
- package/skills/thoth-sdd/SKILL.md +48 -11
- package/skills/thoth-sdd/references/phases/implement.md +44 -6
- package/skills/thoth-sdd/references/phases/tasks.md +23 -2
- package/skills/thoth-sdd/references/phases/verify.md +7 -5
- package/skills/thoth-sdd/scripts/validate.mjs +263 -30
- package/skills/thoth-sdd/templates/tasks.md +18 -2
- package/.agents/plugins/marketplace.json +0 -20
- package/.claude-plugin/marketplace.json +0 -21
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-reviewer
|
|
3
|
-
description: Review a ready Accelerated or Full SDD artifact set for execution blockers after
|
|
3
|
+
description: Review a ready Accelerated or Full SDD artifact set for execution blockers after Oracle review is explicitly or recommended-default selected. Use only for the pre-implementation plan-review phase; return exact [OKAY] or [REJECT] semantics while keeping final verification separate.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Designed for thoth-agents Accelerated and Full SDD workflows.
|
|
4
6
|
metadata:
|
|
5
7
|
author: thoth-agents
|
|
6
|
-
version:
|
|
8
|
+
version: "1.0"
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
# Plan Reviewer
|
|
@@ -17,12 +19,16 @@ Use this skill only after all of these conditions hold:
|
|
|
17
19
|
|
|
18
20
|
- The selected route is Accelerated or Full.
|
|
19
21
|
- The route's `ready` validator gate has passed.
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
+
- `Review plan with Oracle (Recommended)` was explicitly selected or selected
|
|
23
|
+
by the bounded no-answer fallback.
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
At the ready gate, any explicit `Proceed without review` answer wins. When the
|
|
26
|
+
native question returns answerless, Root
|
|
27
|
+
makes at most three total attempts; after the third answerless result, Root
|
|
28
|
+
treats `Review plan with Oracle (Recommended)` as selected. This bounded
|
|
29
|
+
fallback is the only automatic activation. Do not use this skill for Direct
|
|
30
|
+
work. Explicitly proceeding without review means there is no pre-implementation
|
|
31
|
+
Oracle review; mandatory final verification still applies.
|
|
26
32
|
|
|
27
33
|
## Ownership and inputs
|
|
28
34
|
|
|
@@ -61,6 +67,29 @@ Judge the artifact set on five dimensions:
|
|
|
61
67
|
Respect TDD ordering and the repository constitution when they apply. Report
|
|
62
68
|
non-blocking cautions separately so they do not become artificial gates.
|
|
63
69
|
|
|
70
|
+
## Native parallel executability
|
|
71
|
+
|
|
72
|
+
Structural ready validation proves that declared parallel metadata is
|
|
73
|
+
well-formed; it does not prove semantic independence. When `tasks.md` declares
|
|
74
|
+
parallel groups, Oracle must independently assess whether the plan can execute
|
|
75
|
+
them safely:
|
|
76
|
+
|
|
77
|
+
- Confirm each lane path union is genuinely disjoint from the other lanes and
|
|
78
|
+
its selected owner fits the bounded work.
|
|
79
|
+
- Confirm cross-lane data flow does not hide a dependency and that the declared
|
|
80
|
+
prerequisites and barrier reflect the real execution order.
|
|
81
|
+
- Confirm the handoff is sufficient for native capacity-bounded waves:
|
|
82
|
+
dispatch-before-wait for every admitted lane, refill before another wait, and
|
|
83
|
+
terminal reconciliation before releasing the barrier.
|
|
84
|
+
- Require a truthful sequential fallback when native concurrency or capacity is
|
|
85
|
+
unavailable or unproven.
|
|
86
|
+
|
|
87
|
+
For an evidence-backed `None` declaration, assess whether the claimed coupling
|
|
88
|
+
really prevents a safe group. Treat a structural-but-semantically-unsafe group
|
|
89
|
+
as a blocker only when the smallest repair is required before implementation;
|
|
90
|
+
keep capacity uncertainty as a non-blocking caution when the declared fallback
|
|
91
|
+
still makes the plan executable.
|
|
92
|
+
|
|
64
93
|
## Decision contract
|
|
65
94
|
|
|
66
95
|
Default to `[OKAY]`. Return `[REJECT]` only when execution is genuinely blocked.
|
|
@@ -68,8 +97,10 @@ A rejection contains at most 3 actionable blockers. For each blocker, state why
|
|
|
68
97
|
it blocks execution and the smallest concrete repair. Preserve the exact
|
|
69
98
|
`[OKAY]` and `[REJECT]` tokens across every harness.
|
|
70
99
|
|
|
71
|
-
After `[REJECT]`, Root repairs
|
|
72
|
-
|
|
100
|
+
After `[REJECT]`, Root repairs actionable same-intent planning artifacts,
|
|
101
|
+
revalidates affected gates, and starts a fresh Oracle approval round until
|
|
102
|
+
`[OKAY]`. A material human-owned blocker stops the loop for user input. Do not
|
|
103
|
+
silently approve a changed plan or reuse an Oracle to issue a new approval.
|
|
73
104
|
|
|
74
105
|
## Freshness and persistence
|
|
75
106
|
|
|
@@ -84,12 +115,20 @@ digests. Oracle returns this payload; Root is the only writer that persists it.
|
|
|
84
115
|
|
|
85
116
|
## Handoff
|
|
86
117
|
|
|
87
|
-
After `[OKAY]`, Root summarizes the approved
|
|
88
|
-
|
|
89
|
-
`
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
118
|
+
After `[OKAY]`, Root summarizes the approved scope, approach, ownership,
|
|
119
|
+
verification, and material risks before asking the native question:
|
|
120
|
+
`Implement (Recommended)` or `Stop`. Any explicit `Stop` answer wins. If the
|
|
121
|
+
implementation question returns answerless, Root makes at most three total
|
|
122
|
+
attempts; after the third answerless result, Root treats implementation as
|
|
123
|
+
selected. `[OKAY]` alone does not authorize implementation before that explicit
|
|
124
|
+
choice or bounded fallback resolves. Choosing `Proceed without review` at the
|
|
125
|
+
earlier choice does authorize implementation.
|
|
126
|
+
|
|
127
|
+
Plan review never replaces or substitutes for mandatory final verification.
|
|
128
|
+
Every route still requires post-implementation verification, but ownership is
|
|
129
|
+
proportional: trivial deterministic Direct work may be Root-verified when Root
|
|
130
|
+
is not self-approving its own implementation; materially risky Direct work and
|
|
131
|
+
every Accelerated or Full final verify require a fresh read-only Oracle.
|
|
93
132
|
|
|
94
133
|
## Output
|
|
95
134
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: thoth-archive
|
|
3
3
|
description: Close a passing artifact-backed thoth-agents change by transactionally synchronizing explicitly declared durable requirement deltas and moving the complete audit trail to a dated archive.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Node.js >=22.13 and write access to the project OpenSpec tree.
|
|
6
|
+
metadata:
|
|
7
|
+
author: thoth-agents
|
|
8
|
+
version: "1.0"
|
|
4
9
|
---
|
|
5
10
|
|
|
6
11
|
# Thoth Archive
|
|
@@ -300,16 +300,36 @@ function parseStoryScenarios(spec) {
|
|
|
300
300
|
const covers =
|
|
301
301
|
/^\*\*Covers\*\*:\s*(.+)$/im.exec(story)?.[1].match(/\bFR-\d{3}\b/g) ??
|
|
302
302
|
[];
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
303
|
+
const acceptanceMarker = /^\*\*Acceptance scenarios\*\*:\s*$/im.exec(story);
|
|
304
|
+
const acceptance = acceptanceMarker
|
|
305
|
+
? story.slice((acceptanceMarker.index ?? 0) + acceptanceMarker[0].length)
|
|
306
|
+
: '';
|
|
307
|
+
const scenarioStarts = [
|
|
308
|
+
...acceptance.matchAll(/^\d+\.\s+\*\*Given\*\*/gim),
|
|
309
|
+
];
|
|
310
|
+
const scenarios = scenarioStarts.map((scenarioStart, scenarioIndex) => {
|
|
311
|
+
const start = scenarioStart.index ?? 0;
|
|
312
|
+
const end = scenarioStarts[scenarioIndex + 1]?.index ?? acceptance.length;
|
|
313
|
+
const normalized = acceptance
|
|
314
|
+
.slice(start, end)
|
|
315
|
+
.replace(/\s+/g, ' ')
|
|
316
|
+
.trim();
|
|
317
|
+
const scenario =
|
|
318
|
+
/^\d+\.\s+\*\*Given\*\*\s+(.+?),\s+\*\*When\*\*\s+(.+?),\s+\*\*Then\*\*\s+(.+?)\.?\s*$/i.exec(
|
|
319
|
+
normalized,
|
|
320
|
+
);
|
|
321
|
+
if (!scenario) {
|
|
322
|
+
throw new Error(
|
|
323
|
+
`US${storyMatch[1]} acceptance scenario ${scenarioIndex + 1} must use Given, When, and Then`,
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
return {
|
|
327
|
+
title: `US${storyMatch[1]} - ${storyMatch[2].trim()} ${scenarioIndex + 1}`,
|
|
328
|
+
given: scenario[1].trim(),
|
|
329
|
+
when: scenario[2].trim(),
|
|
330
|
+
result: scenario[3].trim(),
|
|
331
|
+
};
|
|
332
|
+
});
|
|
313
333
|
|
|
314
334
|
for (const requirementId of covers) {
|
|
315
335
|
const current = scenariosByRequirement.get(requirementId) ?? [];
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: thoth-constitution
|
|
3
3
|
description: Create or explicitly amend the project constitution, choose its governance SemVer bump, propagate its impact, and validate lifecycle metadata. Use only for constitution lifecycle work; routine SDD planning reads the constitution without activating this skill.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Node.js >=22.13 for bundled validation scripts.
|
|
6
|
+
metadata:
|
|
7
|
+
author: thoth-agents
|
|
8
|
+
version: "1.0"
|
|
4
9
|
---
|
|
5
10
|
|
|
6
11
|
# Thoth Constitution
|
|
@@ -24,7 +24,11 @@ infrastructure without a current requirement is prohibited.
|
|
|
24
24
|
|
|
25
25
|
Delivery MUST use the smallest coherent design that satisfies accepted
|
|
26
26
|
requirements. Non-goals MUST be named, and scope cannot expand silently.
|
|
27
|
-
SDD route
|
|
27
|
+
Before the SDD route question, Root MUST summarize relevant context, scope,
|
|
28
|
+
clarity, risk, and its evidence-based recommendation. Any explicit answer wins.
|
|
29
|
+
When the native question returns answerless, Root MUST make at most three total
|
|
30
|
+
attempts; after the third answerless result, the recommended route counts as
|
|
31
|
+
selected.
|
|
28
32
|
|
|
29
33
|
### III. Testable contracts
|
|
30
34
|
|
|
@@ -33,7 +37,20 @@ changes MUST use test-first execution at an agreed public seam when practical.
|
|
|
33
37
|
|
|
34
38
|
### IV. Independent assurance
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
Every route MUST include verification proportional to the changed behavior and
|
|
41
|
+
risk. The implementation writer cannot approve its own work. Trivial
|
|
42
|
+
deterministic Direct work MAY be verified by Root when the decision is bounded
|
|
43
|
+
and independent of the implementation writer. Materially risky Direct work and
|
|
44
|
+
every Accelerated or Full final verify MUST use a fresh independent read-only
|
|
45
|
+
reviewer. Pre-implementation plan review is optional and is selected explicitly
|
|
46
|
+
or by the bounded recommended fallback; when offered, any explicit answer wins.
|
|
47
|
+
After the third answerless result,
|
|
48
|
+
`Review plan with Oracle (Recommended)` counts as selected. Actionable review
|
|
49
|
+
rejections MUST be repaired and revalidated before a fresh reviewer round until
|
|
50
|
+
approval or a material human-owned blocker. After approval, Root MUST give an
|
|
51
|
+
approved plan summary before asking `Implement (Recommended)` or `Stop`; any
|
|
52
|
+
explicit answer wins, while the third answerless result selects implementation.
|
|
53
|
+
Plan review never substitutes for final verification.
|
|
37
54
|
|
|
38
55
|
### V. Traceable delivery
|
|
39
56
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: thoth-init
|
|
3
3
|
description: Initialize or synchronize the minimum project OpenSpec governance structure required by thoth-agents SDD flows.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Node.js >=22.13 and write access to the target project.
|
|
6
|
+
metadata:
|
|
7
|
+
author: thoth-agents
|
|
8
|
+
version: "1.0"
|
|
4
9
|
---
|
|
5
10
|
|
|
6
11
|
# Thoth Init
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: thoth-sdd
|
|
3
|
-
description: Run thoth-agents Direct, Accelerated, or Full specification-driven development with Spec Kit-grade artifacts, OpenSpec-style durable deltas, fast-forward planning, and
|
|
3
|
+
description: Run thoth-agents Direct, Accelerated, or Full specification-driven development with Spec Kit-grade artifacts, OpenSpec-style durable deltas, fast-forward planning, and proportional independent verification.
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: Requires Node.js >=22.13 for bundled validation scripts.
|
|
6
|
+
metadata:
|
|
7
|
+
author: thoth-agents
|
|
8
|
+
version: "1.0"
|
|
4
9
|
---
|
|
5
10
|
|
|
6
11
|
# Thoth SDD
|
|
@@ -18,21 +23,53 @@ intent is clear and risk is low.
|
|
|
18
23
|
|
|
19
24
|
Accelerated is a **fast-forward** route: root writes `spec.md`, `plan.md`, and
|
|
20
25
|
`tasks.md` in one uninterrupted pass and creates optional artifacts only for a
|
|
21
|
-
concrete risk. After `ready`, both artifact-backed routes
|
|
26
|
+
concrete risk. After `ready`, both artifact-backed routes offer
|
|
22
27
|
`Review plan with Oracle (Recommended)` or `Proceed without review`. Full uses
|
|
23
28
|
separate planning gates because uncertainty or failure cost justifies them.
|
|
24
29
|
|
|
25
30
|
An explicitly named route counts as the user's selection. Otherwise assess and
|
|
26
|
-
recommend Direct, Accelerated, or Full,
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
recommend Direct, Accelerated, or Full, first summarize the relevant request
|
|
32
|
+
context, scope, clarity, risk, and why the recommendation fits, then ask. When a
|
|
33
|
+
native route question returns answerless, make at most three total attempts;
|
|
34
|
+
after the third answerless result, treat the recommended route as selected. Any
|
|
35
|
+
explicit answer wins. A generic request to “use SDD” makes Accelerated the
|
|
36
|
+
minimum recommendation but does not force it.
|
|
37
|
+
|
|
38
|
+
At the post-`ready` review choice, an explicit answer wins, including
|
|
39
|
+
`Proceed without review`. When the native question returns answerless, make at
|
|
40
|
+
most three total attempts; after the third answerless result, treat
|
|
41
|
+
`Review plan with Oracle (Recommended)` as selected. Once review is selected,
|
|
42
|
+
repair actionable same-intent planning blockers, revalidate affected gates, and
|
|
43
|
+
use a fresh Oracle for every new approval round until `[OKAY]`; stop instead on
|
|
44
|
+
a material human-owned blocker.
|
|
45
|
+
|
|
46
|
+
These bounded fallbacks apply only to the route, plan-review, and implementation
|
|
47
|
+
questions. Never apply them to secrets, destructive or security-sensitive
|
|
48
|
+
actions, or material human-owned product or architecture decisions.
|
|
29
49
|
|
|
30
50
|
## Ownership
|
|
31
51
|
|
|
32
52
|
- Root owns sequential coordination artifacts, gate execution, and archive.
|
|
33
53
|
- Explorer owns Full-route repository discovery.
|
|
34
|
-
-
|
|
35
|
-
|
|
54
|
+
- SDD routes govern artifacts and gates, not implementation ownership. Root,
|
|
55
|
+
`designer`, `quick`, or `deep` may implement in Direct, Accelerated, or Full.
|
|
56
|
+
- Root decides ownership from explicit safe user direction and demonstrated net
|
|
57
|
+
gain. Delegation benefits include specialization, context isolation,
|
|
58
|
+
independent bounded work, quality, latency, or total cost; root continuity
|
|
59
|
+
benefits include short or sequential work, shared mutable state, accumulated
|
|
60
|
+
context, rediscovery, and coordination overhead. Route, file count, or cheaper
|
|
61
|
+
model price alone never selects an owner.
|
|
62
|
+
- Only after deciding to delegate implementation, select `designer` for UI/UX,
|
|
63
|
+
`quick` for known narrow low-risk work, or `deep` for coupled, edge-case-heavy,
|
|
64
|
+
migration, concurrency, shared-contract, or high-risk work.
|
|
65
|
+
- Each mutable surface has one writer; independent non-overlapping surfaces may
|
|
66
|
+
split, while coupled surfaces use one `deep` writer and ordered handoffs.
|
|
67
|
+
- Oracle owns `plan-review` when review is explicitly selected or chosen by the
|
|
68
|
+
bounded recommended fallback. Every route requires
|
|
69
|
+
mandatory verification, but final-verification ownership is proportional:
|
|
70
|
+
trivial deterministic Direct work may be verified by Root when Root is not
|
|
71
|
+
self-approving its own implementation; materially risky Direct work and every
|
|
72
|
+
Accelerated or Full final verify require a fresh read-only Oracle. The
|
|
36
73
|
implementation writer never approves its own work.
|
|
37
74
|
|
|
38
75
|
## Progressive loading
|
|
@@ -78,10 +115,10 @@ node "<skill-dir>/scripts/validate.mjs" --change openspec/changes/<feature> --ro
|
|
|
78
115
|
- **Checklist**: run only when activated; the later `ready` gate includes it if
|
|
79
116
|
present.
|
|
80
117
|
|
|
81
|
-
`ready` validates the artifacts needed before the
|
|
82
|
-
`Review plan with Oracle (Recommended)`
|
|
83
|
-
approval remains separate from implementation confirmation and never
|
|
84
|
-
final verification.
|
|
118
|
+
`ready` validates the artifacts needed before the explicit or bounded-default
|
|
119
|
+
`Review plan with Oracle (Recommended)` / `Proceed without review` choice.
|
|
120
|
+
Review approval remains separate from implementation confirmation and never
|
|
121
|
+
satisfies final verification.
|
|
85
122
|
`closeout` additionally requires completed tasks, independent oracle PASS,
|
|
86
123
|
complete FR/buildable-SC evidence, an observed PASS or explicit residual RISK
|
|
87
124
|
for every outcome SC, and an archive report ready for the transactional archive
|
|
@@ -1,12 +1,42 @@
|
|
|
1
1
|
# Implement contract
|
|
2
2
|
|
|
3
|
-
**Owner**: root, designer
|
|
3
|
+
**Owner**: adaptive root, `designer`, `quick`, or `deep` in every route; exactly
|
|
4
|
+
one writer per mutable surface
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
SDD routes govern artifacts and gates, not implementation ownership. Before
|
|
7
|
+
implementation or dispatch, root records the decided owner, task-shape/net-gain
|
|
8
|
+
rationale, exact paths, accepted FR/buildable-SC scope, non-goals, and
|
|
9
|
+
verification commands. Route, file count, or cheaper model price alone is not an
|
|
10
|
+
ownership rationale.
|
|
11
|
+
|
|
12
|
+
Root may retain implementation when short or sequential work, shared mutable
|
|
13
|
+
state, accumulated context, rediscovery, or coordination overhead outweighs
|
|
14
|
+
delegation benefit. Delegate when specialization, context isolation, independent
|
|
15
|
+
bounded work, quality, latency, or total cost creates demonstrated net gain. If
|
|
16
|
+
root owns the surface, do not dispatch a writer. If a specialist owns it, send a
|
|
17
|
+
bounded handoff with the exact surface, requirements, and checks.
|
|
18
|
+
|
|
19
|
+
Root marks selected artifact-backed tasks `[~]`; Direct or no-artifact work has
|
|
20
|
+
no task state. Use the mandatory `tdd` skill for behavior changes and work in
|
|
21
|
+
vertical red/green slices. Child writers never edit task state; root marks `[x]`
|
|
22
|
+
only after checking task-specific evidence.
|
|
23
|
+
|
|
24
|
+
After deciding delegation creates net gain, select deterministically:
|
|
25
|
+
|
|
26
|
+
- `designer` for user-facing UI/UX, interaction, accessibility, responsive, or
|
|
27
|
+
visual-quality work;
|
|
28
|
+
- `quick` for a known narrow mechanical low-risk surface with exact targets;
|
|
29
|
+
- `deep` for coupled multi-file, shared-contract, migration, concurrency,
|
|
30
|
+
edge-case-heavy, or high-risk work.
|
|
31
|
+
|
|
32
|
+
Proven independent surfaces may use different writers only with non-overlapping
|
|
33
|
+
ownership. Overlapping or compatibility-coupled work uses one `deep` writer and
|
|
34
|
+
ordered handoffs. A writer escalates before expanding beyond its routing
|
|
35
|
+
boundary. Every route requires mandatory verification, and the implementation
|
|
36
|
+
writer never approves its own work. For trivial deterministic Direct work, Root
|
|
37
|
+
may run the proportionate focused checks when Root is not self-approving its own
|
|
38
|
+
implementation. For materially risky Direct work and every Accelerated or Full
|
|
39
|
+
final verify, root hands the unchanged candidate to a fresh read-only Oracle.
|
|
10
40
|
|
|
11
41
|
Implementation evidence may refine an artifact without restarting the workflow:
|
|
12
42
|
|
|
@@ -17,3 +47,11 @@ Implementation evidence may refine an artifact without restarting the workflow:
|
|
|
17
47
|
silently expanding this one.
|
|
18
48
|
|
|
19
49
|
Report files changed, checks executed, deviations, and remaining work.
|
|
50
|
+
|
|
51
|
+
## Native dispatch groups and waves
|
|
52
|
+
|
|
53
|
+
For each ready group, confirm prerequisites, ordered lane tasks, exact path
|
|
54
|
+
union, owner, requirements, and checks. Select the capacity-bounded set of
|
|
55
|
+
undispatched ready lanes and create one fresh native specialist assignment per admitted lane. Issue every dispatch in that native wave before any wait, status,
|
|
56
|
+
result collection, or root implementation action. Retain handles; when terminal evidence frees capacity, dispatch the next undispatched ready lane before waiting again. Validate terminal evidence per lane, while root alone updates task state. Cross the declared barrier only after every lane is terminal and reconciled. Preserve truthful capability/capacity fallback: when native
|
|
57
|
+
concurrency is unavailable or width is one, use a truthful sequential fallback.
|
|
@@ -22,6 +22,27 @@ not justify artificial implementation tasks.
|
|
|
22
22
|
|
|
23
23
|
Order test-first work before its implementation, group tasks by independently
|
|
24
24
|
deliverable story, identify the MVP, and state dependencies. `[P]` is permitted
|
|
25
|
-
only
|
|
26
|
-
|
|
25
|
+
only for tasks assigned to a declared lane whose mutable path union does not
|
|
26
|
+
overlap another lane in the same group. If there is no safe parallel work, use
|
|
27
27
|
`- None: <evidence-backed reason>` instead. Avoid ceremonial tasks.
|
|
28
|
+
|
|
29
|
+
## Parallel execution
|
|
30
|
+
|
|
31
|
+
Declare safe work with this exact grammar:
|
|
32
|
+
|
|
33
|
+
### Group P1
|
|
34
|
+
|
|
35
|
+
- Lane L1: T001 -> T002 | Owner: deep
|
|
36
|
+
- Lane L2: T003 -> T004 | Owner: quick
|
|
37
|
+
- Prerequisites: None
|
|
38
|
+
- Barrier: Final verification
|
|
39
|
+
- Rationale: Both lane path sets are disjoint and neither lane consumes peer output.
|
|
40
|
+
|
|
41
|
+
Groups and lanes are sequential and unique. Every `[P]` task belongs to exactly one lane; non-`[P]` tasks do not. Lane surfaces are the union of exact task
|
|
42
|
+
paths, and lanes in a group have disjoint surfaces and no cross-lane dependency.
|
|
43
|
+
The `Rationale` must explicitly state path-disjointness and cross-lane dependency
|
|
44
|
+
evidence so structural validation can gate the evidence shape and Oracle can
|
|
45
|
+
judge whether the claim is true.
|
|
46
|
+
Prerequisites name known tasks outside the group; the barrier is a downstream
|
|
47
|
+
task or `Final verification` after all lane members. If no group exists, use
|
|
48
|
+
only `- None: <evidence-backed reason>` and no task may use `[P]`.
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# Verify contract
|
|
2
2
|
|
|
3
|
-
**Owner**:
|
|
3
|
+
**Owner**: route- and risk-aware; Root for trivial deterministic Direct, otherwise a fresh read-only Oracle
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Every route requires mandatory verification. Trivial deterministic Direct work
|
|
6
|
+
may be verified by Root with focused deterministic checks. Materially risky
|
|
7
|
+
Direct work and Accelerated or Full final verification use a fresh read-only
|
|
8
|
+
Oracle. The implementation writer never approves its own work. Inspect changed
|
|
9
|
+
code and run or validate the smallest sufficient checks.
|
|
8
10
|
|
|
9
11
|
Judge three dimensions separately: **completeness** of accepted scope and
|
|
10
12
|
coverage, **correctness** against behavioral contracts and executed evidence,
|
|
@@ -16,7 +18,7 @@ task.
|
|
|
16
18
|
|
|
17
19
|
Return `pass` or `fail`, compliance matrix, commands/results, stable findings,
|
|
18
20
|
critical issues, warnings, and remediation anchors. For Direct, return the
|
|
19
|
-
verdict in-session. For Accelerated and Full, root persists
|
|
21
|
+
verdict in-session regardless of owner. For Accelerated and Full, root persists Oracle's exact result
|
|
20
22
|
using `<skill-dir>/templates/verify-report.md`, where `<skill-dir>` is the
|
|
21
23
|
directory containing the installed `thoth-sdd/SKILL.md`. Fail routes to converge
|
|
22
24
|
(straight back to implement for Direct); PASS permits closeout and archive for
|