harness-everything 0.30.3 → 0.30.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.
@@ -10,7 +10,7 @@
10
10
  "name": "harness-everything",
11
11
  "source": "./",
12
12
  "description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
13
- "version": "0.30.3",
13
+ "version": "0.30.4",
14
14
  "author": {
15
15
  "name": "Miya Daniel"
16
16
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "harness-everything",
3
3
  "description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
4
- "version": "0.30.3",
4
+ "version": "0.30.4",
5
5
  "author": {
6
6
  "name": "Miya Daniel"
7
7
  },
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  All notable changes to this project are documented in this file.
4
4
 
5
+ ## [0.30.4](https://github.com/dyphn1/Harness-everything/compare/v0.30.3...v0.30.4) (2026-10-01)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **plugin:** sync skill-creator A/B contract ([2eeea6e](https://github.com/dyphn1/Harness-everything/commit/2eeea6ec3845c5affcbd38f8c44c8120155818c2))
10
+ * **plugin:** sync to-spec design audit contract ([4a298e6](https://github.com/dyphn1/Harness-everything/commit/4a298e64477078e8c435ab90d1968d36f91bc648))
11
+ * **plugin:** sync to-spec workspace contract ([591c50f](https://github.com/dyphn1/Harness-everything/commit/591c50f6a99819f51202e0fbebc0bdb3511746e0))
12
+ * **skill-creator:** define executor-agnostic A/B lanes ([7294807](https://github.com/dyphn1/Harness-everything/commit/7294807da0c0c96f7baa148eb05913b476e192fa))
13
+ * **skill-creator:** keep A/B invariant within token budget ([0e249ab](https://github.com/dyphn1/Harness-everything/commit/0e249ab2205daba3f11ad8aa7886e27821d63edb))
14
+ * **skill-creator:** keep A/B invariant within token budget ([d0c7cba](https://github.com/dyphn1/Harness-everything/commit/d0c7cba2c9d2123a3a9c192d022dae3a70740efc))
15
+ * **skill-creator:** keep topology router-owned in authoring guide ([842241d](https://github.com/dyphn1/Harness-everything/commit/842241dfadc98ed5983d744c9d615cf8e93b5e5e))
16
+ * **skill-creator:** keep topology router-owned in authoring guide ([97ec713](https://github.com/dyphn1/Harness-everything/commit/97ec713580958629df11923be0acf25f4eaf92d2))
17
+ * **skill-creator:** remove stale workspace spawner guidance ([37fbb99](https://github.com/dyphn1/Harness-everything/commit/37fbb99b992881fe4c93126c0198697e2d825240))
18
+ * **skill-creator:** remove stale workspace spawner guidance ([14f0614](https://github.com/dyphn1/Harness-everything/commit/14f0614843d79fc1067384b1b5ffa3f22caf1b6b))
19
+ * **to-spec:** define design audit outcome instead of executor ([ffe8e6e](https://github.com/dyphn1/Harness-everything/commit/ffe8e6e414edbb50412d48fd07cfe187b97cdc6f))
20
+ * **to-spec:** keep audit invariant within token budget ([c29757a](https://github.com/dyphn1/Harness-everything/commit/c29757af92dc560a6fb15f16252ca931d4abc5cc))
21
+ * **to-spec:** keep audit invariant within token budget ([5ab9667](https://github.com/dyphn1/Harness-everything/commit/5ab966710ca32e776a9cd9d8c608b92e2558898c))
22
+ * **to-spec:** stop treating workspace as subagent executor ([32b797c](https://github.com/dyphn1/Harness-everything/commit/32b797c9fd9028ca26b8bb61f101bace23a5cd18))
23
+
5
24
  ## [0.30.3](https://github.com/dyphn1/Harness-everything/compare/v0.30.2...v0.30.3) (2026-10-01)
6
25
 
7
26
  ### Bug Fixes
@@ -44,6 +44,52 @@ for (const rel of [
44
44
  }
45
45
  assert.ok(/section order MAY vary/i.test(skillStyle), 'skill-style explicitly permits readability-driven section ordering');
46
46
 
47
+ // #266: older callers must describe review/evaluation outcomes, not treat
48
+ // multi-agent-workspace as a generic subagent executor. Topology remains
49
+ // router-owned, and canonical skill files must stay in sync with packaged copies.
50
+ const contractPairs = [
51
+ ['to-spec/SKILL.md', 'plugins/harness-everything/skills/to-spec/SKILL.md'],
52
+ ['to-spec/references/process.md', 'plugins/harness-everything/skills/to-spec/references/process.md'],
53
+ ['skill-creator/SKILL.md', 'plugins/harness-everything/skills/skill-creator/SKILL.md'],
54
+ ['skill-creator/references/testing-workflow.md', 'plugins/harness-everything/skills/skill-creator/references/testing-workflow.md'],
55
+ ['skill-creator/references/authoring-workflow.md', 'plugins/harness-everything/skills/skill-creator/references/authoring-workflow.md'],
56
+ ];
57
+ for (const [canonical, packaged] of contractPairs) {
58
+ assert.strictEqual(read(packaged), read(canonical), canonical + ' packaged mirror must match');
59
+ }
60
+ const contractSurfaces = [
61
+ 'to-spec/SKILL.md',
62
+ 'to-spec/references/process.md',
63
+ 'skill-creator/SKILL.md',
64
+ 'skill-creator/references/testing-workflow.md',
65
+ 'skill-creator/references/authoring-workflow.md',
66
+ 'docs/workflows/skill-creator.md',
67
+ ];
68
+ const staleExecutorClaims = [
69
+ /Design Audit \(\`multi-agent-workspace\`\)/i,
70
+ /recommend invoking \`multi-agent-workspace\`/i,
71
+ /A\/B-test via \`multi-agent-workspace\` subagents/i,
72
+ /multi-agent-workspace subagents/i,
73
+ /`multi-agent-workspace` skill for bounded sub-agent spawning/i,
74
+ /Use `multi-agent-workspace` to spawn/i,
75
+ /multi-agent entrypoint is `multi-agent-workspace`; it owns\s+bounded delegation/i,
76
+ ];
77
+ for (const rel of contractSurfaces) {
78
+ const body = read(rel);
79
+ for (const pattern of staleExecutorClaims) {
80
+ assert.ok(!pattern.test(body), rel + ' must not treat multi-agent-workspace as a generic executor: ' + pattern);
81
+ }
82
+ }
83
+ assert.ok(/independent Design Audit findings/i.test(read('to-spec/SKILL.md')), 'to-spec requires independent Design Audit evidence');
84
+ assert.ok(/Describe the required audit outcome, not an executor/i.test(read('to-spec/references/process.md')), 'to-spec process specifies audit outcome rather than executor');
85
+ assert.ok(/A\/B-test isolated control/i.test(read('skill-creator/SKILL.md')), 'skill-creator defines isolated A/B lanes');
86
+ assert.ok(/control \(without skill\) vs treatment \(with skill\)/i.test(read('skill-creator/SKILL.md')), 'skill-creator preserves control/treatment semantics');
87
+ assert.ok(/topology owned by the active router\/host/i.test(read('skill-creator/references/testing-workflow.md')), 'testing guide keeps evaluation topology router-owned');
88
+ assert.ok(/Execution topology belongs to the router\/host/i.test(read('skill-creator/references/authoring-workflow.md')), 'authoring guide keeps execution topology router-owned');
89
+ const workspaceContract = read('multi-agent-workspace/SKILL.md');
90
+ assert.ok(/router owns that decision/i.test(workspaceContract), 'multi-agent-workspace keeps router-owned topology');
91
+ assert.ok(/does not spawn workers/i.test(workspaceContract), 'multi-agent-workspace remains a topology/workspace consumer');
92
+
47
93
  // #272: preserve one detailed checkpoint plus the invariant; remove duplicate
48
94
  // restatements from later sections of the same router injection.
49
95
  const kernel = path.join(ROOT, 'harness-everything/scripts/kernel-router.js');
@@ -13,7 +13,7 @@ graph TD
13
13
  NewReq["Trigger: new skill, SKILL.md audit, or self-evolve packaging"] --> DupGrep["Grep registry for near-duplicates; when-to-fire sentence becomes description"]
14
14
  DupGrep --> DraftContract["Draft Contract table first, then USE FOR and DO NOT USE FOR, then steps or flat reference"]
15
15
  DraftContract --> PushRef["Push branch-only detail to references/"]
16
- PushRef --> ABTest["A/B-test via multi-agent-workspace subagents; read both transcripts"]
16
+ PushRef --> ABTest["A/B-test in isolated control/treatment lanes; capture and read both transcripts"]
17
17
  ABTest --> QualityGate["Quality Checklist gate before registering"]
18
18
  QualityGate --> RegisterOut["Output: SKILL.md passing Quality Checklist; writes SKILL.md and updates registry or generated folder"]
19
19
  ```
@@ -38,7 +38,8 @@ graph LR
38
38
 
39
39
  ```mermaid
40
40
  graph LR
41
- CreatorSkill2["skill-creator / SKILL.md"] -->|A-B tests with| MultiAgent["multi-agent-workspace subagents"]
41
+ CreatorSkill2["skill-creator / SKILL.md"] -->|Defines isolated A/B lanes and evidence| EvalLanes["Control: without candidate skill / Treatment: with candidate skill"]
42
+ EvalLanes --> RouterExec["Router/host selects execution topology"]
42
43
  NonSkillDocs["Non-skill project docs"] -->|Use instead| RepoDocs["repo-docs or to-spec"]
43
44
  ThirdParty["Third-party skill discovery"] -->|Use instead| FindSkills["find-skills"]
44
45
  StyleOnly["Code style outside SKILL.md files"] -->|Out of scope| NotCreator["Not skill-creator"]
@@ -46,7 +47,7 @@ graph LR
46
47
 
47
48
  ## 3. Real-World Use Case
48
49
 
49
- A team wants a new `deploy-preview` skill. The author greps the registry for near-duplicates, writes the when-to-fire sentence as the description, drafts the Contract table first with its enforcement gate, then `USE FOR` and `DO NOT USE FOR`, then the steps, pushing long detail to `references/`. They A/B-test via `multi-agent-workspace` subagents, read both transcripts, run the Quality Checklist (`skill-creator/references/quality-checklist.md`), and only then register. A separate small tip discovered mid-session does not qualify as a dynamic skill and goes to `<workspace>/memories/repo/RULES.md`.
50
+ A team wants a new `deploy-preview` skill. The author greps the registry for near-duplicates, writes the when-to-fire sentence as the description, drafts the Contract table first with its enforcement gate, then `USE FOR` and `DO NOT USE FOR`, then the steps, pushing long detail to `references/`. They A/B-test in two isolated lanes (control without the candidate skill; treatment with it), capture and read both transcripts, let the router/host select the execution topology, run the Quality Checklist (`skill-creator/references/quality-checklist.md`), and only then register. A separate small tip discovered mid-session does not qualify as a dynamic skill and goes to `<workspace>/memories/repo/RULES.md`.
50
51
 
51
52
  ## 4. Verification Check
52
53
 
@@ -54,7 +55,7 @@ A team wants a new `deploy-preview` skill. The author greps the registry for nea
54
55
  - [ ] Contract table drafted first to force the enforcement gate
55
56
  - [ ] `USE FOR` and `DO NOT USE FOR` present before steps or flat reference
56
57
  - [ ] Branch-only detail pushed to `references/` (e.g. `skill-creator/references/quality-checklist.md`)
57
- - [ ] A/B-tested via `multi-agent-workspace` subagents and both transcripts read
58
+ - [ ] A/B-tested in isolated control/treatment lanes; both transcripts captured and read; execution topology left to the router/host
58
59
  - [ ] Quality Checklist passed before registering, including `USE FOR` / `DO NOT USE FOR` consistency
59
60
  - [ ] Output is a SKILL.md passing the Quality Checklist; `<skill>/SKILL.md` written and registry or generated folder updated
60
61
  - [ ] Dynamic path gated by Quality Checklist first; location, frontmatter triggers, generated type, and draft status correct
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "harness-enforcement",
3
3
  "description": "Repository inventory for the opencode enforcement plugin and its standalone helper",
4
- "version": "0.30.3",
4
+ "version": "0.30.4",
5
5
  "runtime": "index.mjs",
6
6
  "hooks": {
7
7
  "verify": "hooks/verify.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harness-everything",
3
- "version": "0.30.3",
3
+ "version": "0.30.4",
4
4
  "description": "Harness OS: An Orchestrated Agent Operating System for AI-driven Development",
5
5
  "main": "harness-everything/scripts/bootstrap.js",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harness-everything",
3
- "version": "0.30.3",
3
+ "version": "0.30.4",
4
4
  "description": "Invariant-first engineering harness for routing, verification, and failure recovery while preserving agent autonomy.",
5
5
  "author": {
6
6
  "name": "Miya Daniel",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "harness-everything",
4
- "version": "0.30.3",
4
+ "version": "0.30.4",
5
5
  "description": "Invariant-first engineering harness for routing, verification, and failure recovery while preserving agent autonomy.",
6
6
  "author": {
7
7
  "name": "Miya Daniel",
@@ -4,7 +4,7 @@ description: Author, audit, and refactor SKILL.md files against one quality bar
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.13.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # Skill Creator
@@ -31,8 +31,8 @@ metadata:
31
31
  ## Authoring Workflow
32
32
 
33
33
  1. Grep the registry for near-duplicates; the when-to-fire sentence becomes the description.
34
- 2. Draft the Contract table first (forces the Enforcement Gate), then `## USE FOR:`/`## DO NOT USE FOR:`, then steps/flat reference; push branch-only detail to references/.
35
- 3. A/B-test via `multi-agent-workspace` subagents; read both transcripts.
34
+ 2. Draft Contract table first, then `## USE FOR:`/`## DO NOT USE FOR:`, then steps; move branch-only detail to references/.
35
+ 3. A/B-test isolated control (without skill) vs treatment (with skill); read both transcripts; router owns topology.
36
36
  4. Run the Quality Checklist; register (static quotes the description; dynamic below).
37
37
 
38
38
  ## Dynamic Skill Generation Contract
@@ -5,10 +5,10 @@ the enforcement gate. Use short ordered steps for actions and move branch-only
5
5
  detail into references or guides.
6
6
 
7
7
  Before registering a skill, check the Harness registry for overlap, define one
8
- human-readable frontmatter description, run realistic with/without tests using
9
- `multi-agent-workspace`, and complete the Quality Checklist. Static skills
10
- belong in the root catalog and need a routing eval; dynamic skills use the
11
- generated manifest flow from `self-evolve`.
8
+ human-readable frontmatter description, run realistic isolated with/without
9
+ tests, and complete the Quality Checklist. Static skills belong in the root
10
+ catalog and need a routing eval; dynamic skills use the generated manifest flow
11
+ from `self-evolve`.
12
12
 
13
- The canonical multi-agent entrypoint is `multi-agent-workspace`; it owns
14
- bounded delegation and workspace isolation.
13
+ Execution topology belongs to the router/host. `multi-agent-workspace` is only
14
+ consumed when the router already selected its workspace topology.
@@ -1,14 +1,14 @@
1
1
  # Testing Workflow
2
2
 
3
3
  Read this when `skill-creator/SKILL.md` asks for realistic trigger tests or a
4
- with/without comparison. Harness uses deterministic routing and the merged
5
- `multi-agent-workspace` skill for bounded sub-agent spawning.
4
+ with/without comparison. Use isolated control/treatment lanes and keep execution
5
+ topology owned by the active router/host.
6
6
 
7
7
  ## With/without comparison
8
8
 
9
9
  1. Write 2-3 realistic prompts with paths, framework names, and near-misses.
10
- 2. Use `multi-agent-workspace` to spawn one sub-agent with the draft skill
11
- loaded and one baseline with no mention of it.
10
+ 2. Run the treatment with the draft skill loaded and the control without it in
11
+ isolated lanes selected by the active router/host.
12
12
  3. Read both transcripts, not only final answers; record thrashing and missed
13
13
  gates as evidence.
14
14
  4. Construct one prompt that should trigger the skill's enforcement gate and
@@ -4,7 +4,7 @@ description: "Turn the conversation into a written spec — feature PRD, CLI/API
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.12.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # To Spec
@@ -26,7 +26,7 @@ Turns the conversation into one published spec artifact. No interviewing — `gr
26
26
  2. Zero-trust context: cite `Evidence: <file:line> -> Finding: <meaning>`; blocking forks mean run `grill-me`/`grill-with-docs` first.
27
27
  3. Mandatory outline preview (closest fit, 10-20 lines + target path); write only after user confirms.
28
28
  4. Publish to `specs/<feature-slug>.md` (`Status: ready-for-agent`) or `reference/`, `adr/`.
29
- 5. Golden Flow: Feature spec needs a Design Audit (`multi-agent-workspace`) before `/to-tickets`.
29
+ 5. Golden Flow: Feature specs require independent Design Audit findings before `/to-tickets`; router owns topology.
30
30
 
31
31
  Deep dive: <this-skill-dir>/references/process.md
32
32
 
@@ -100,4 +100,4 @@ No additional triage needed beyond the `issueDefinition` marker. A clearly-shape
100
100
 
101
101
  ## Golden Flow rationale
102
102
 
103
- After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, instruct the user to initiate a Design Audit first: recommend invoking `multi-agent-workspace` (or manually starting parallel Sub-agents) to conduct a Fan-out architectural audit (e.g., Security Auditor, Senior Architect) on the newly published spec. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."
103
+ After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, require a Design Audit with at least two independent reviewer perspectives (for example, Security Auditor and Senior Architect) and preserve their findings as audit evidence. Describe the required audit outcome, not an executor: the Harness router/host selects the execution topology. `multi-agent-workspace` is valid only when the router contract has already selected `strategy=fable-multi-agent-workspace` with `workspace.required=true`; otherwise use the independent review lanes available on the active host/router. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."
package/sbom.cdx.json CHANGED
@@ -2,23 +2,23 @@
2
2
  "$schema": "https://cyclonedx.org/schema/bom-1.7.schema.json",
3
3
  "bomFormat": "CycloneDX",
4
4
  "specVersion": "1.7",
5
- "serialNumber": "urn:uuid:557653e9-e704-5fd3-b675-167e0cadb8c9",
5
+ "serialNumber": "urn:uuid:29356e45-bc4a-52e1-86a1-e76ba7221fbe",
6
6
  "version": 1,
7
7
  "metadata": {
8
- "timestamp": "2026-10-01T06:19:24.870Z",
8
+ "timestamp": "2026-10-01T08:19:06.883Z",
9
9
  "tools": [
10
10
  {
11
11
  "vendor": "Harness Everything",
12
12
  "name": "generate-sbom.js",
13
- "version": "0.30.3"
13
+ "version": "0.30.4"
14
14
  }
15
15
  ],
16
16
  "component": {
17
17
  "type": "application",
18
- "bom-ref": "pkg:npm/harness-everything@0.30.3",
18
+ "bom-ref": "pkg:npm/harness-everything@0.30.4",
19
19
  "name": "harness-everything",
20
- "version": "0.30.3",
21
- "purl": "pkg:npm/harness-everything@0.30.3"
20
+ "version": "0.30.4",
21
+ "purl": "pkg:npm/harness-everything@0.30.4"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -1999,7 +1999,7 @@
1999
1999
  ]
2000
2000
  },
2001
2001
  {
2002
- "ref": "pkg:npm/harness-everything@0.30.3",
2002
+ "ref": "pkg:npm/harness-everything@0.30.4",
2003
2003
  "dependsOn": [
2004
2004
  "pkg:npm/%40commitlint/cli@19.8.1",
2005
2005
  "pkg:npm/%40commitlint/config-conventional@19.8.1",
@@ -4,7 +4,7 @@ description: Author, audit, and refactor SKILL.md files against one quality bar
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.13.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # Skill Creator
@@ -31,8 +31,8 @@ metadata:
31
31
  ## Authoring Workflow
32
32
 
33
33
  1. Grep the registry for near-duplicates; the when-to-fire sentence becomes the description.
34
- 2. Draft the Contract table first (forces the Enforcement Gate), then `## USE FOR:`/`## DO NOT USE FOR:`, then steps/flat reference; push branch-only detail to references/.
35
- 3. A/B-test via `multi-agent-workspace` subagents; read both transcripts.
34
+ 2. Draft Contract table first, then `## USE FOR:`/`## DO NOT USE FOR:`, then steps; move branch-only detail to references/.
35
+ 3. A/B-test isolated control (without skill) vs treatment (with skill); read both transcripts; router owns topology.
36
36
  4. Run the Quality Checklist; register (static quotes the description; dynamic below).
37
37
 
38
38
  ## Dynamic Skill Generation Contract
@@ -5,10 +5,10 @@ the enforcement gate. Use short ordered steps for actions and move branch-only
5
5
  detail into references or guides.
6
6
 
7
7
  Before registering a skill, check the Harness registry for overlap, define one
8
- human-readable frontmatter description, run realistic with/without tests using
9
- `multi-agent-workspace`, and complete the Quality Checklist. Static skills
10
- belong in the root catalog and need a routing eval; dynamic skills use the
11
- generated manifest flow from `self-evolve`.
8
+ human-readable frontmatter description, run realistic isolated with/without
9
+ tests, and complete the Quality Checklist. Static skills belong in the root
10
+ catalog and need a routing eval; dynamic skills use the generated manifest flow
11
+ from `self-evolve`.
12
12
 
13
- The canonical multi-agent entrypoint is `multi-agent-workspace`; it owns
14
- bounded delegation and workspace isolation.
13
+ Execution topology belongs to the router/host. `multi-agent-workspace` is only
14
+ consumed when the router already selected its workspace topology.
@@ -1,14 +1,14 @@
1
1
  # Testing Workflow
2
2
 
3
3
  Read this when `skill-creator/SKILL.md` asks for realistic trigger tests or a
4
- with/without comparison. Harness uses deterministic routing and the merged
5
- `multi-agent-workspace` skill for bounded sub-agent spawning.
4
+ with/without comparison. Use isolated control/treatment lanes and keep execution
5
+ topology owned by the active router/host.
6
6
 
7
7
  ## With/without comparison
8
8
 
9
9
  1. Write 2-3 realistic prompts with paths, framework names, and near-misses.
10
- 2. Use `multi-agent-workspace` to spawn one sub-agent with the draft skill
11
- loaded and one baseline with no mention of it.
10
+ 2. Run the treatment with the draft skill loaded and the control without it in
11
+ isolated lanes selected by the active router/host.
12
12
  3. Read both transcripts, not only final answers; record thrashing and missed
13
13
  gates as evidence.
14
14
  4. Construct one prompt that should trigger the skill's enforcement gate and
package/to-spec/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: "Turn the conversation into a written spec — feature PRD, CLI/API
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  author: Miya Daniel
7
- version: 0.12.0
7
+ version: 0.30.4
8
8
  ---
9
9
 
10
10
  # To Spec
@@ -26,7 +26,7 @@ Turns the conversation into one published spec artifact. No interviewing — `gr
26
26
  2. Zero-trust context: cite `Evidence: <file:line> -> Finding: <meaning>`; blocking forks mean run `grill-me`/`grill-with-docs` first.
27
27
  3. Mandatory outline preview (closest fit, 10-20 lines + target path); write only after user confirms.
28
28
  4. Publish to `specs/<feature-slug>.md` (`Status: ready-for-agent`) or `reference/`, `adr/`.
29
- 5. Golden Flow: Feature spec needs a Design Audit (`multi-agent-workspace`) before `/to-tickets`.
29
+ 5. Golden Flow: Feature specs require independent Design Audit findings before `/to-tickets`; router owns topology.
30
30
 
31
31
  Deep dive: <this-skill-dir>/references/process.md
32
32
 
@@ -100,4 +100,4 @@ No additional triage needed beyond the `issueDefinition` marker. A clearly-shape
100
100
 
101
101
  ## Golden Flow rationale
102
102
 
103
- After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, instruct the user to initiate a Design Audit first: recommend invoking `multi-agent-workspace` (or manually starting parallel Sub-agents) to conduct a Fan-out architectural audit (e.g., Security Auditor, Senior Architect) on the newly published spec. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."
103
+ After publishing a `Feature spec` (Tier 3), do NOT immediately instruct the user to run `/to-tickets`. Instead, require a Design Audit with at least two independent reviewer perspectives (for example, Security Auditor and Senior Architect) and preserve their findings as audit evidence. Describe the required audit outcome, not an executor: the Harness router/host selects the execution topology. `multi-agent-workspace` is valid only when the router contract has already selected `strategy=fable-multi-agent-workspace` with `workspace.required=true`; otherwise use the independent review lanes available on the active host/router. State explicitly: "This specification must pass a Design Audit before being broken down by `/to-tickets`. Any architectural flaws or over-engineering must be caught now, not during implementation."