harness-everything 0.30.9 → 0.31.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.
Files changed (150) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/AGENTS.md +1 -1
  4. package/CHANGELOG.md +34 -0
  5. package/README.md +8 -9
  6. package/VERIFICATION.md +1 -1
  7. package/benchmarks/results/live-host/claude-2026-10-08-issue-297/README.md +27 -0
  8. package/benchmarks/results/live-host/codex-2026-10-13/README.md +55 -0
  9. package/benchmarks/results/live-host/codex-2026-10-13/observation-records.json +88 -0
  10. package/benchmarks/results/pr-303-review-2026-10-13/README.md +81 -0
  11. package/benchmarks/results/pr-303-review-2026-10-13/ci/run.json +1330 -0
  12. package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/mechanism-35-clean-env.log +1 -0
  13. package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/mechanism-35-inherited-flag.log +34 -0
  14. package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/verify-gate-captured.json +46 -0
  15. package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/verify-gate-diagnosis.md +13 -0
  16. package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/verify-gate.json +46 -0
  17. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/summary.json +57 -0
  18. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-collision.log +8 -0
  19. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-consistency.log +624 -0
  20. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-docs-capabilities.log +131 -0
  21. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-platform-compatibility.log +9 -0
  22. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-plugin-openai.log +6 -0
  23. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-plugin-submission.log +5 -0
  24. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-references.log +6 -0
  25. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-release.log +73 -0
  26. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-repo-contract.log +5 -0
  27. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-routing-invariants.log +785 -0
  28. package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-routing-skills.log +44 -0
  29. package/benchmarks/results/pr-303-review-2026-10-13/gates/final-fast/summary.json +12 -0
  30. package/benchmarks/results/pr-303-review-2026-10-13/gates/final-fast/test-consistency.log +624 -0
  31. package/benchmarks/results/pr-303-review-2026-10-13/gates/final-fast/test-release.log +73 -0
  32. package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/summary.json +79 -0
  33. package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/test-mechanism.log +1737 -0
  34. package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/test-mutations.log +16 -0
  35. package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/test.log +3297 -0
  36. package/benchmarks/results/pr-303-review-2026-10-13/manifest.json +319 -0
  37. package/benchmarks/results/pr-303-review-2026-10-13/regression/binding-resolution-green.log +36 -0
  38. package/benchmarks/results/pr-303-review-2026-10-13/regression/determinism.json +174 -0
  39. package/benchmarks/results/pr-303-review-2026-10-13/regression/quality-evidence.json +314 -0
  40. package/benchmarks/results/pr-303-review-2026-10-13/regression/quality-report.json +638 -0
  41. package/benchmarks/results/pr-303-review-2026-10-13/regression/red.log +240 -0
  42. package/benchmarks/results/pr-303-review-2026-10-13/regression/untyped-fable-probe.json +22 -0
  43. package/benchmarks/results/pr-303-review-2026-10-13/regression/workflow-obligations-green.log +254 -0
  44. package/benchmarks/results/pr-303-review-2026-10-13/verification/mechanism-35-clean-env-fixed.log +1 -0
  45. package/benchmarks/results/pr-303-review-2026-10-13/verification/mechanism-35-inherited-flag-fixed.log +1 -0
  46. package/benchmarks/results/pr-303-review-2026-10-13/verification/nested-test.meta.json +8 -0
  47. package/benchmarks/results/pr-303-review-2026-10-13/verification/nested-test.stderr.log +90 -0
  48. package/benchmarks/results/pr-303-review-2026-10-13/verification/nested-test.stdout.log +3186 -0
  49. package/benchmarks/results/pr-303-review-2026-10-13/verification/verify-gate-final.json +46 -0
  50. package/bin/cli.js +1 -1
  51. package/ci/doc-capability-consistency.test.js +11 -1
  52. package/ci/invariant-routing.test.js +7 -4
  53. package/ci/mechanism-2ag-router-worktree-contract.test.js +2 -2
  54. package/ci/mechanism-2ai-workspace-fingerprint-batch.test.js +2 -1
  55. package/ci/mechanism-2al-codex-hooks-compat.test.js +19 -0
  56. package/ci/mechanism-2am-observations-session-import.test.js +221 -0
  57. package/ci/mechanism-2an-workflow-obligations.test.js +352 -3
  58. package/ci/mechanism-2ao-plugin-sync.test.js +129 -4
  59. package/ci/mechanism-2aq-fable-stage-bindings.test.js +168 -0
  60. package/ci/mechanism-2ar-binding-resolution.test.js +211 -0
  61. package/ci/mechanism-2w-platform-compatibility.test.js +12 -0
  62. package/ci/mechanism-34-observations.test.js +64 -0
  63. package/ci/mechanism-35-verification-contract.test.js +1 -1
  64. package/ci/mutation-check.js +2 -0
  65. package/ci/mutation-loader.js +4 -0
  66. package/ci/openai-plugin-package.test.js +7 -5
  67. package/ci/prompt-contract-regressions.test.js +7 -6
  68. package/ci/router-workflow-plan.test.js +109 -14
  69. package/ci/skill-routing-check.js +44 -15
  70. package/ci/workflow-plan-consumers.test.js +41 -1
  71. package/docs/architecture.md +10 -10
  72. package/docs/enforcement-locks.md +1 -1
  73. package/docs/mechanism-first-skill-mesh.md +12 -11
  74. package/docs/openai-plugin.md +1 -1
  75. package/docs/philosophy.md +7 -6
  76. package/docs/platform-capabilities.md +14 -12
  77. package/docs/platform-compatibility.json +5 -5
  78. package/docs/routing.md +16 -17
  79. package/docs/system-one-observations.md +36 -9
  80. package/docs/system-one-routing.md +10 -7
  81. package/docs/system-one-suggestion-gates.md +5 -5
  82. package/docs/workflow-runtime.md +6 -2
  83. package/docs/workflows/harness-everything.md +14 -14
  84. package/evals/harness-everything/tasks/positive-tier1.yaml +1 -1
  85. package/evals/harness-everything/tasks/positive-tier2.yaml +1 -1
  86. package/evals/harness-everything/tasks/positive-tier3.yaml +1 -1
  87. package/fable-mode/CONTRACT-FORMAT.md +4 -1
  88. package/fable-mode/SKILL.md +6 -8
  89. package/fable-mode/agents/fable-orchestrator.md +10 -3
  90. package/fable-mode/execution-guardrails/SKILL.md +1 -1
  91. package/fable-mode/fable-haiku/SKILL.md +1 -1
  92. package/fable-mode/fable-opus/SKILL.md +1 -1
  93. package/fable-mode/fable-sonnet/SKILL.md +1 -1
  94. package/fable-mode/scripts/workflow-plan-consumer.js +101 -2
  95. package/harness-everything/SKILL.md +8 -7
  96. package/harness-everything/references/router-workflow-plan.md +11 -6
  97. package/harness-everything/references/triage-and-tiers.md +21 -23
  98. package/harness-everything/schemas/router-workflow-plan.schema.json +2 -0
  99. package/harness-everything/scripts/kernel-router-core.js +52 -55
  100. package/harness-everything/scripts/kernel-router.js +48 -5
  101. package/harness-everything/scripts/router-contract-core.js +7 -7
  102. package/harness-everything/scripts/router-contract.js +1 -3
  103. package/harness-everything/scripts/routing-keywords.json +417 -121
  104. package/harness-everything/scripts/tier-router.js +64 -113
  105. package/hooks/scripts/contract-test.js +29 -3
  106. package/hooks/scripts/lib/binding-resolver.js +76 -0
  107. package/hooks/scripts/lib/fable-contracts.js +1 -1
  108. package/hooks/scripts/lib/observations.js +88 -12
  109. package/hooks/scripts/lib/workflow-obligations.js +292 -7
  110. package/hooks/scripts/lib/workflow-runtime.js +8 -1
  111. package/hooks/scripts/workflow-disposition.js +116 -2
  112. package/opencode-plugin/plugin.json +1 -1
  113. package/package.json +1 -1
  114. package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
  115. package/plugins/harness-everything/hooks/scripts/contract-test.js +29 -3
  116. package/plugins/harness-everything/hooks/scripts/lib/binding-resolver.js +76 -0
  117. package/plugins/harness-everything/hooks/scripts/lib/fable-contracts.js +1 -1
  118. package/plugins/harness-everything/hooks/scripts/lib/observations.js +88 -12
  119. package/plugins/harness-everything/hooks/scripts/lib/workflow-obligations.js +292 -7
  120. package/plugins/harness-everything/hooks/scripts/lib/workflow-runtime.js +8 -1
  121. package/plugins/harness-everything/hooks/scripts/workflow-disposition.js +116 -2
  122. package/plugins/harness-everything/plugin.json +1 -1
  123. package/plugins/harness-everything/scripts/lib/advisory-text.js +2 -2
  124. package/plugins/harness-everything/scripts/lib/generated-skills.js +78 -0
  125. package/plugins/harness-everything/skills/fable-mode/CONTRACT-FORMAT.md +4 -1
  126. package/plugins/harness-everything/skills/fable-mode/SKILL.md +6 -8
  127. package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +10 -3
  128. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +1 -1
  129. package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +1 -1
  130. package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +1 -1
  131. package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +1 -1
  132. package/plugins/harness-everything/skills/fable-mode/scripts/workflow-plan-consumer.js +101 -2
  133. package/plugins/harness-everything/skills/harness-everything/SKILL.md +8 -7
  134. package/plugins/harness-everything/skills/harness-everything/references/router-workflow-plan.md +11 -6
  135. package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +21 -23
  136. package/plugins/harness-everything/skills/harness-everything/schemas/router-workflow-plan.schema.json +2 -0
  137. package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router-core.js +52 -55
  138. package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router.js +48 -5
  139. package/plugins/harness-everything/skills/harness-everything/scripts/router-contract-core.js +7 -7
  140. package/plugins/harness-everything/skills/harness-everything/scripts/router-contract.js +1 -3
  141. package/plugins/harness-everything/skills/harness-everything/scripts/routing-keywords.json +417 -121
  142. package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +64 -113
  143. package/sbom.cdx.json +7 -7
  144. package/scripts/codex-hooks-compat.js +39 -14
  145. package/scripts/lib/advisory-text.js +2 -2
  146. package/scripts/lib/generated-skills.js +78 -0
  147. package/scripts/plugin-sync.js +100 -29
  148. package/scripts/system-one-observations-export.js +29 -2
  149. package/scripts/system-one-observations-import-codex-sessions.js +307 -0
  150. package/scripts/system-one-observations-review.js +11 -1
@@ -0,0 +1,785 @@
1
+
2
+ > harness-everything@0.30.10 test:routing:invariants
3
+ > node ci/invariant-routing.test.js && node ci/router-workflow-plan.test.js && node ci/workflow-execution-contract.test.js
4
+
5
+ === Semantic Contract-Strength Routing Contract ===
6
+ PASS kernel router exits successfully
7
+ PASS classifier result is preserved
8
+ PASS Tier 2 selects iterative-single workflow
9
+ PASS iterative work exposes loop-awareness instead of a hard budget
10
+ PASS active-step binding resolution is explicitly mandatory
11
+ PASS orchestration policy preserves semantic MUST obligations
12
+ PASS kernel separates semantic contract from non-blocking observation
13
+ PASS worktree isolation disposition is a semantic MUST
14
+ PASS old planning-guidance label is absent
15
+ PASS old worktree hard-block wording is absent
16
+ PASS future step knowledge stays undisclosed
17
+ PASS required binding gaps remain visible without adding a lock
18
+ PASS global read-every-suggestion invariant is removed
19
+ PASS workflow plan carries mandatory user-visible status invariant
20
+ PASS kernel emits the mandatory unified status contract
21
+ PASS kernel status contract includes readable Markdown field ### 🚦 Harness Status
22
+ PASS kernel status contract includes readable Markdown field - **Current:**
23
+ PASS kernel status contract includes readable Markdown field - **Read / Evidence:**
24
+ PASS kernel status contract includes readable Markdown field - **Next:**
25
+ PASS kernel status contract includes readable Markdown field - **Risk / Blocked:**
26
+ PASS routing checkpoint is marked internal rather than user-facing
27
+ PASS legacy duplicate-visible checkpoint label is absent
28
+ PASS kernel tells agents to split dense evidence into nested bullets
29
+ PASS kernel separates semantic MUST from mechanical blocking
30
+ PASS Tier 3 routing exits successfully
31
+ PASS macro task remains Tier 3
32
+ PASS Tier 3 keeps the worktree isolation invariant
33
+ PASS Tier 3 does not push a global worktree skill path
34
+ PASS Tier 3 requires an isolation disposition without a hard lock
35
+ PASS Harness skill separates required obligations from adaptable tactics
36
+ PASS Harness skill names the only intentional blocking boundaries
37
+ PASS Harness skill requires the readable unified user-visible status
38
+ PASS Harness skill mirror matches
39
+ PASS worktree skill requires isolation disposition but permits degraded fallback
40
+ PASS worktree creation failure is not a cognitive blocked state
41
+ PASS worktree skill mirror matches
42
+ PASS triage reference uses contract-first policy
43
+ PASS triage defines the mandatory unified status contract
44
+ PASS triage mirror matches
45
+ PASS current doc docs/routing.md preserves explicit semantic strength
46
+ PASS current doc docs/architecture.md preserves explicit semantic strength
47
+ PASS current doc docs/philosophy.md preserves explicit semantic strength
48
+ PASS current doc docs/routing.md defines mandatory user-visible status
49
+ PASS current doc docs/architecture.md defines mandatory user-visible status
50
+ PASS current doc docs/workflow-runtime.md defines mandatory user-visible status
51
+ PASS philosophy defines canonical MUST/SHOULD/MAY strength
52
+ PASS contract-strength audit classifies Route before software/project execution
53
+ PASS contract-strength audit classifies Resolve active required skill/reference bindings before their step
54
+ PASS contract-strength audit classifies Resolve selected-topology invariants/stages/checks/synthesis/verification
55
+ PASS contract-strength audit classifies Discover relevant environment/host facts
56
+ PASS contract-strength audit classifies Resolve Tier-3/Fable isolation before broad mutation
57
+ PASS contract-strength audit classifies Numeric iteration/revision/replan/worker values
58
+ PASS contract-strength audit classifies Durable memory writes
59
+ PASS old ambiguous philosophy wording is removed
60
+ PASS instruction-only installer preserves MUST/MAY semantics
61
+ PASS instruction-only installers carry the readable mandatory status contract
62
+ PASS installer text preserves Rule-of-3 and permission boundaries
63
+ PASS OpenAI advisory mirror matches
64
+ PASS repository agent contract is contract-first
65
+ PASS repository agent contract requires readable unified user-visible status
66
+ PASS repository worktree rule requires disposition without hard lock
67
+ PASS architecture skill aligns rollback with the third same-signature failure
68
+ PASS architecture skill no longer waits beyond the Rule-of-3 threshold
69
+ PASS architecture skill mirror matches
70
+ PASS environment discovery is a conditional semantic MUST
71
+ PASS environment skill mirror matches
72
+ PASS commit skill separates staged-diff MUST from split SHOULD
73
+ PASS git-commit skill mirror matches
74
+ PASS Claude packages workflow reminder hook
75
+ PASS Claude preserves Rule-of-3 boundary
76
+ PASS Claude preserves action permission gate
77
+
78
+ PASS: semantic contract-strength routing contract (0 failures)
79
+ === Router Workflow Plan Contract — Phase 2 ===
80
+ PASS direct-single: tier router exits successfully
81
+ PASS direct-single: structured contract exists
82
+ PASS direct-single: contract validates (no errors)
83
+ PASS one-file trivial task remains tier1
84
+ PASS one-file trivial task selects direct-single
85
+ PASS direct-single is a selected strategy
86
+ PASS every selected workflow carries the user-visible status invariant
87
+ PASS every selected workflow carries conditional environment-alignment MUST
88
+ PASS direct-single does not require a workspace
89
+ PASS direct-single does not parallelize
90
+ PASS iterative-single: tier router exits successfully
91
+ PASS iterative-single: structured contract exists
92
+ PASS iterative-single: contract validates (no errors)
93
+ PASS ordinary test-first bug fix is tier2
94
+ PASS ordinary bug fix selects iterative-single
95
+ PASS iterative-single retains a MAY iteration planning value
96
+ PASS workflow exposes a MAY revision planning value
97
+ PASS workflow exposes a MAY replan planning value
98
+ PASS workflow exposes a MAY worker planning value
99
+ PASS iterative-single carries objective verification invariant
100
+ PASS iterative-single carries semantic loop-awareness obligation while numeric counts remain MAY
101
+ PASS test-related keywords become normalized step input signals
102
+ PASS selected topology no longer pushes a global skill list
103
+ PASS knowledge signals do not directly select documents
104
+ PASS ordinary iterative work cannot write durable memory
105
+ PASS binding ids remain step-local rather than workflow invariants
106
+ PASS self-evolve persistence: tier router exits successfully
107
+ PASS self-evolve persistence: structured contract exists
108
+ PASS self-evolve persistence: contract validates (no errors)
109
+ PASS bounded explicit persistence request receives a selected workflow
110
+ PASS explicit persistence request authorizes only self-evolve durable write
111
+ PASS durable memory route carries runtime authorization invariant
112
+ PASS memory authorization does not add a global self-evolve suggestion
113
+ PASS persistence intent is recorded in task shape
114
+ PASS memory prohibition: tier router exits successfully
115
+ PASS memory prohibition: structured contract exists
116
+ PASS memory prohibition: contract validates (no errors)
117
+ PASS explicit memory prohibition overrides persistence intent
118
+ PASS memory prohibition conflict is auditable
119
+ PASS bounded operation: Audit this SKILL.md only.: tier router exits successfully
120
+ PASS bounded operation: Audit this SKILL.md only.: structured contract exists
121
+ PASS bounded operation: Audit this SKILL.md only.: contract validates (no errors)
122
+ PASS bounded operation verb does not force Tier 3: Audit this SKILL.md only.
123
+ PASS bounded operation verb does not emit macro-scope-signal: Audit this SKILL.md only.
124
+ PASS bounded operation records macroScope=false: Audit this SKILL.md only.
125
+ PASS bounded operation: Compare these two functions.: tier router exits successfully
126
+ PASS bounded operation: Compare these two functions.: structured contract exists
127
+ PASS bounded operation: Compare these two functions.: contract validates (no errors)
128
+ PASS bounded operation verb does not force Tier 3: Compare these two functions.
129
+ PASS bounded operation verb does not emit macro-scope-signal: Compare these two functions.
130
+ PASS bounded operation records macroScope=false: Compare these two functions.
131
+ PASS bounded operation: Benchmark this parser function.: tier router exits successfully
132
+ PASS bounded operation: Benchmark this parser function.: structured contract exists
133
+ PASS bounded operation: Benchmark this parser function.: contract validates (no errors)
134
+ PASS bounded operation verb does not force Tier 3: Benchmark this parser function.
135
+ PASS bounded operation verb does not emit macro-scope-signal: Benchmark this parser function.
136
+ PASS bounded operation records macroScope=false: Benchmark this parser function.
137
+ PASS controlled A/B benchmark: tier router exits successfully
138
+ PASS controlled A/B benchmark: structured contract exists
139
+ PASS controlled A/B benchmark: contract validates (no errors)
140
+ PASS structured A/B benchmark remains Tier 3
141
+ PASS structured A/B benchmark records macroScope=true
142
+ PASS structured A/B benchmark keeps macro-scope-signal
143
+ PASS Tier 3 keyword rationale: tier router exits successfully
144
+ PASS Tier 3 keyword rationale: structured contract exists
145
+ PASS Tier 3 keyword rationale: contract validates (no errors)
146
+ PASS new feature remains Tier 3
147
+ PASS new feature records tier3-keyword
148
+ PASS Tier 3 keyword rationale names the actual trigger class
149
+ PASS Tier 3 keyword rationale does not claim unrelated macro signals
150
+ PASS fable-staged: tier router exits successfully
151
+ PASS fable-staged: structured contract exists
152
+ PASS fable-staged: contract validates (no errors)
153
+ PASS multi-stage architecture work is tier3
154
+ PASS dependent multi-stage work selects fable-staged
155
+ PASS dependent stages remain sequential
156
+ PASS fable-staged requires cold verification
157
+ PASS fable-staged carries mandatory isolation disposition
158
+ PASS fable-staged keeps its worktree isolation invariant
159
+ PASS fable topology does not globally push worktree/fable skills
160
+ PASS fable-parallel: tier router exits successfully
161
+ PASS fable-parallel: structured contract exists
162
+ PASS fable-parallel: contract validates (no errors)
163
+ PASS parallel task records independent dependency graph
164
+ PASS parallel audit records read-only write set
165
+ PASS independent read-only audits select fable-parallel
166
+ PASS fable-parallel exposes allowed=true
167
+ PASS parallel strategy requires synthesis barrier
168
+ PASS shared-write serialization: tier router exits successfully
169
+ PASS shared-write serialization: structured contract exists
170
+ PASS shared-write serialization: contract validates (no errors)
171
+ PASS same-file writers are recorded as overlapping
172
+ PASS same-file writers are serialized instead of fable-parallel
173
+ PASS overlapping writes cannot dispatch in parallel
174
+ PASS multi-agent workspace: tier router exits successfully
175
+ PASS multi-agent workspace: structured contract exists
176
+ PASS multi-agent workspace: contract validates (no errors)
177
+ PASS durable reusable specialists select workspace topology
178
+ PASS workspace topology marks workspace required
179
+ PASS workspace topology scopes reads through workspace index
180
+ PASS workspace memory writes remain proposals
181
+ PASS unclassified: tier router exits successfully
182
+ PASS unclassified: structured contract exists
183
+ PASS unclassified: contract validates (no errors)
184
+ PASS no matched signal remains unclassified
185
+ PASS unclassified does not silently select direct-single
186
+ PASS unclassified strategy selection is deferred
187
+ PASS deferred selection has deterministic reason code
188
+ PASS actionGate: tier router exits successfully
189
+ PASS actionGate: structured contract exists
190
+ PASS actionGate: contract validates (no errors)
191
+ PASS irreversible command intent requires actionGate independent of tier
192
+ PASS actionGate records irreversible-action
193
+ PASS actionGate closes at pending approval before execution
194
+ PASS actionGate adds pre-action invariant
195
+ PASS external side effect: tier router exits successfully
196
+ PASS external side effect: structured contract exists
197
+ PASS external side effect: contract validates (no errors)
198
+ PASS external side effect requires actionGate
199
+ PASS external side effect reason is explicit
200
+ PASS fable keyword trivial edit: tier router exits successfully
201
+ PASS fable keyword trivial edit: structured contract exists
202
+ PASS fable keyword trivial edit: contract validates (no errors)
203
+ PASS fable keyword does not force Tier 3 on a trivial README typo
204
+ PASS fable README typo remains direct-single
205
+ PASS explicit Fable profile: tier router exits successfully
206
+ PASS explicit Fable profile: structured contract exists
207
+ PASS explicit Fable profile: contract validates (no errors)
208
+ PASS explicit Fable request selects Fable topology
209
+ PASS legacy opus alias normalizes to orchestrator profile
210
+ PASS legacy alias remains auditable
211
+ PASS explicit Fable profile remains visible
212
+ PASS explicit Fable sonnect alias: tier router exits successfully
213
+ PASS explicit Fable sonnect alias: structured contract exists
214
+ PASS explicit Fable sonnect alias: contract validates (no errors)
215
+ PASS sonnect normalizes to reasoning profile
216
+ PASS raw sonnect alias remains auditable end-to-end
217
+ PASS router output preserves raw sonnect alias
218
+ PASS bounded Fable lookup: tier router exits successfully
219
+ PASS bounded Fable lookup: structured contract exists
220
+ PASS bounded Fable lookup: contract validates (no errors)
221
+ PASS Could you please explain fable on sonnet? Return only JSON.: lookup remains a bounded Tier 1 operation
222
+ PASS Could you please explain fable on sonnet? Return only JSON.: lookup selects direct-single before loading references
223
+ PASS lookup does not delegate
224
+ PASS Could you please explain fable on sonnet? Return only JSON.: lookup selects only compact reference
225
+ PASS Could you please explain fable on sonnet? Return only JSON.: lookup omits unrelated keyword guides
226
+ PASS Could you please explain fable on sonnet? Return only JSON.: lookup does not send agent to selector implementation
227
+ PASS Could you please explain fable on sonnet? Return only JSON.: lookup contract is deterministic
228
+ PASS bounded Fable lookup: tier router exits successfully
229
+ PASS bounded Fable lookup: structured contract exists
230
+ PASS bounded Fable lookup: contract validates (no errors)
231
+ PASS Please, explain fable on sonnet; return only JSON.: lookup remains a bounded Tier 1 operation
232
+ PASS Please, explain fable on sonnet; return only JSON.: lookup selects direct-single before loading references
233
+ PASS lookup does not delegate
234
+ PASS Please, explain fable on sonnet; return only JSON.: lookup selects only compact reference
235
+ PASS Please, explain fable on sonnet; return only JSON.: lookup omits unrelated keyword guides
236
+ PASS Please, explain fable on sonnet; return only JSON.: lookup does not send agent to selector implementation
237
+ PASS Please, explain fable on sonnet; return only JSON.: lookup contract is deterministic
238
+ PASS bounded Fable lookup: tier router exits successfully
239
+ PASS bounded Fable lookup: structured contract exists
240
+ PASS bounded Fable lookup: contract validates (no errors)
241
+ PASS What is fable on opus? Return only JSON.: lookup remains a bounded Tier 1 operation
242
+ PASS What is fable on opus? Return only JSON.: lookup selects direct-single before loading references
243
+ PASS lookup does not delegate
244
+ PASS What is fable on opus? Return only JSON.: lookup selects only compact reference
245
+ PASS What is fable on opus? Return only JSON.: lookup omits unrelated keyword guides
246
+ PASS What is fable on opus? Return only JSON.: lookup does not send agent to selector implementation
247
+ PASS What is fable on opus? Return only JSON.: lookup contract is deterministic
248
+ PASS bounded Fable lookup: tier router exits successfully
249
+ PASS bounded Fable lookup: structured contract exists
250
+ PASS bounded Fable lookup: contract validates (no errors)
251
+ PASS Explain what fable on sonnet means.Return only JSON.: lookup remains a bounded Tier 1 operation
252
+ PASS Explain what fable on sonnet means.Return only JSON.: lookup selects direct-single before loading references
253
+ PASS lookup does not delegate
254
+ PASS Explain what fable on sonnet means.Return only JSON.: lookup selects only compact reference
255
+ PASS Explain what fable on sonnet means.Return only JSON.: lookup omits unrelated keyword guides
256
+ PASS Explain what fable on sonnet means.Return only JSON.: lookup does not send agent to selector implementation
257
+ PASS Explain what fable on sonnet means.Return only JSON.: lookup contract is deterministic
258
+ PASS bounded Fable lookup: tier router exits successfully
259
+ PASS bounded Fable lookup: structured contract exists
260
+ PASS bounded Fable lookup: contract validates (no errors)
261
+ PASS Could you please explain fable on sonnet as a compact JSON record.: lookup remains a bounded Tier 1 operation
262
+ PASS Could you please explain fable on sonnet as a compact JSON record.: lookup selects direct-single before loading references
263
+ PASS lookup does not delegate
264
+ PASS Could you please explain fable on sonnet as a compact JSON record.: lookup selects only compact reference
265
+ PASS Could you please explain fable on sonnet as a compact JSON record.: lookup omits unrelated keyword guides
266
+ PASS Could you please explain fable on sonnet as a compact JSON record.: lookup does not send agent to selector implementation
267
+ PASS Could you please explain fable on sonnet as a compact JSON record.: lookup contract is deterministic
268
+ PASS bounded Fable lookup: tier router exits successfully
269
+ PASS bounded Fable lookup: structured contract exists
270
+ PASS bounded Fable lookup: contract validates (no errors)
271
+ PASS 說明 fable on sonnet,不必啟動任何流程,請只輸出 JSON。: lookup remains a bounded Tier 1 operation
272
+ PASS 說明 fable on sonnet,不必啟動任何流程,請只輸出 JSON。: lookup selects direct-single before loading references
273
+ PASS lookup does not delegate
274
+ PASS 說明 fable on sonnet,不必啟動任何流程,請只輸出 JSON。: lookup selects only compact reference
275
+ PASS 說明 fable on sonnet,不必啟動任何流程,請只輸出 JSON。: lookup omits unrelated keyword guides
276
+ PASS 說明 fable on sonnet,不必啟動任何流程,請只輸出 JSON。: lookup does not send agent to selector implementation
277
+ PASS 說明 fable on sonnet,不必啟動任何流程,請只輸出 JSON。: lookup contract is deterministic
278
+ PASS bounded Fable lookup: tier router exits successfully
279
+ PASS bounded Fable lookup: structured contract exists
280
+ PASS bounded Fable lookup: contract validates (no errors)
281
+ PASS 解釋 fable on opus,無須進入任何階段,請回傳 JSON。: lookup remains a bounded Tier 1 operation
282
+ PASS 解釋 fable on opus,無須進入任何階段,請回傳 JSON。: lookup selects direct-single before loading references
283
+ PASS lookup does not delegate
284
+ PASS 解釋 fable on opus,無須進入任何階段,請回傳 JSON。: lookup selects only compact reference
285
+ PASS 解釋 fable on opus,無須進入任何階段,請回傳 JSON。: lookup omits unrelated keyword guides
286
+ PASS 解釋 fable on opus,無須進入任何階段,請回傳 JSON。: lookup does not send agent to selector implementation
287
+ PASS 解釋 fable on opus,無須進入任何階段,請回傳 JSON。: lookup contract is deterministic
288
+ PASS bounded Fable lookup: tier router exits successfully
289
+ PASS bounded Fable lookup: structured contract exists
290
+ PASS bounded Fable lookup: contract validates (no errors)
291
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record.: lookup remains a bounded Tier 1 operation
292
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record.: lookup selects direct-single before loading references
293
+ PASS lookup does not delegate
294
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record.: lookup selects only compact reference
295
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record.: lookup omits unrelated keyword guides
296
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record.: lookup does not send agent to selector implementation
297
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record.: lookup contract is deterministic
298
+ PASS bounded Fable lookup: tier router exits successfully
299
+ PASS bounded Fable lookup: structured contract exists
300
+ PASS bounded Fable lookup: contract validates (no errors)
301
+ PASS Resolve fable on haiku into a profile JSON record; no orchestration or delegation.: lookup remains a bounded Tier 1 operation
302
+ PASS Resolve fable on haiku into a profile JSON record; no orchestration or delegation.: lookup selects direct-single before loading references
303
+ PASS lookup does not delegate
304
+ PASS Resolve fable on haiku into a profile JSON record; no orchestration or delegation.: lookup selects only compact reference
305
+ PASS Resolve fable on haiku into a profile JSON record; no orchestration or delegation.: lookup omits unrelated keyword guides
306
+ PASS Resolve fable on haiku into a profile JSON record; no orchestration or delegation.: lookup does not send agent to selector implementation
307
+ PASS Resolve fable on haiku into a profile JSON record; no orchestration or delegation.: lookup contract is deterministic
308
+ PASS bounded Fable lookup: tier router exits successfully
309
+ PASS bounded Fable lookup: structured contract exists
310
+ PASS bounded Fable lookup: contract validates (no errors)
311
+ PASS 解釋 fable on opus 的意思,只回傳 JSON。: lookup remains a bounded Tier 1 operation
312
+ PASS 解釋 fable on opus 的意思,只回傳 JSON。: lookup selects direct-single before loading references
313
+ PASS lookup does not delegate
314
+ PASS 解釋 fable on opus 的意思,只回傳 JSON。: lookup selects only compact reference
315
+ PASS 解釋 fable on opus 的意思,只回傳 JSON。: lookup omits unrelated keyword guides
316
+ PASS 解釋 fable on opus 的意思,只回傳 JSON。: lookup does not send agent to selector implementation
317
+ PASS 解釋 fable on opus 的意思,只回傳 JSON。: lookup contract is deterministic
318
+ PASS bounded Fable lookup: tier router exits successfully
319
+ PASS bounded Fable lookup: structured contract exists
320
+ PASS bounded Fable lookup: contract validates (no errors)
321
+ PASS Explain what 'run fable on sonnect' means; return only JSON.: lookup remains a bounded Tier 1 operation
322
+ PASS Explain what 'run fable on sonnect' means; return only JSON.: lookup selects direct-single before loading references
323
+ PASS lookup does not delegate
324
+ PASS Explain what 'run fable on sonnect' means; return only JSON.: lookup selects only compact reference
325
+ PASS Explain what 'run fable on sonnect' means; return only JSON.: lookup omits unrelated keyword guides
326
+ PASS Explain what 'run fable on sonnect' means; return only JSON.: lookup does not send agent to selector implementation
327
+ PASS Explain what 'run fable on sonnect' means; return only JSON.: lookup contract is deterministic
328
+ PASS bounded Fable lookup: tier router exits successfully
329
+ PASS bounded Fable lookup: structured contract exists
330
+ PASS bounded Fable lookup: contract validates (no errors)
331
+ PASS Explain fable on sonnet; return JSON with requestedProfile, effectiveProfile.: lookup remains a bounded Tier 1 operation
332
+ PASS Explain fable on sonnet; return JSON with requestedProfile, effectiveProfile.: lookup selects direct-single before loading references
333
+ PASS lookup does not delegate
334
+ PASS Explain fable on sonnet; return JSON with requestedProfile, effectiveProfile.: lookup selects only compact reference
335
+ PASS Explain fable on sonnet; return JSON with requestedProfile, effectiveProfile.: lookup omits unrelated keyword guides
336
+ PASS Explain fable on sonnet; return JSON with requestedProfile, effectiveProfile.: lookup does not send agent to selector implementation
337
+ PASS Explain fable on sonnet; return JSON with requestedProfile, effectiveProfile.: lookup contract is deterministic
338
+ PASS bounded Fable lookup: tier router exits successfully
339
+ PASS bounded Fable lookup: structured contract exists
340
+ PASS bounded Fable lookup: contract validates (no errors)
341
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record with requestedProfile, effectiveProfile, profileAlias, assignedRole, runtimeModel, runtimeEffort. No orchestration or delegation.: lookup remains a bounded Tier 1 operation
342
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record with requestedProfile, effectiveProfile, profileAlias, assignedRole, runtimeModel, runtimeEffort. No orchestration or delegation.: lookup selects direct-single before loading references
343
+ PASS lookup does not delegate
344
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record with requestedProfile, effectiveProfile, profileAlias, assignedRole, runtimeModel, runtimeEffort. No orchestration or delegation.: lookup selects only compact reference
345
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record with requestedProfile, effectiveProfile, profileAlias, assignedRole, runtimeModel, runtimeEffort. No orchestration or delegation.: lookup omits unrelated keyword guides
346
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record with requestedProfile, effectiveProfile, profileAlias, assignedRole, runtimeModel, runtimeEffort. No orchestration or delegation.: lookup does not send agent to selector implementation
347
+ PASS Explain what 'fable on sonnect' means; return only a small JSON selection record with requestedProfile, effectiveProfile, profileAlias, assignedRole, runtimeModel, runtimeEffort. No orchestration or delegation.: lookup contract is deterministic
348
+ PASS bounded Fable lookup: tier router exits successfully
349
+ PASS bounded Fable lookup: structured contract exists
350
+ PASS bounded Fable lookup: contract validates (no errors)
351
+ PASS Explain fable on haiku; output JSON with `requestedProfile`, `runtimeModel` and `runtimeEffort`.: lookup remains a bounded Tier 1 operation
352
+ PASS Explain fable on haiku; output JSON with `requestedProfile`, `runtimeModel` and `runtimeEffort`.: lookup selects direct-single before loading references
353
+ PASS lookup does not delegate
354
+ PASS Explain fable on haiku; output JSON with `requestedProfile`, `runtimeModel` and `runtimeEffort`.: lookup selects only compact reference
355
+ PASS Explain fable on haiku; output JSON with `requestedProfile`, `runtimeModel` and `runtimeEffort`.: lookup omits unrelated keyword guides
356
+ PASS Explain fable on haiku; output JSON with `requestedProfile`, `runtimeModel` and `runtimeEffort`.: lookup does not send agent to selector implementation
357
+ PASS Explain fable on haiku; output JSON with `requestedProfile`, `runtimeModel` and `runtimeEffort`.: lookup contract is deterministic
358
+ PASS bounded Fable lookup: tier router exits successfully
359
+ PASS bounded Fable lookup: structured contract exists
360
+ PASS bounded Fable lookup: contract validates (no errors)
361
+ PASS 解釋 fable on opus 的意思,只回傳 JSON,包含 requestedProfile、effectiveProfile、runtimeEffort。: lookup remains a bounded Tier 1 operation
362
+ PASS 解釋 fable on opus 的意思,只回傳 JSON,包含 requestedProfile、effectiveProfile、runtimeEffort。: lookup selects direct-single before loading references
363
+ PASS lookup does not delegate
364
+ PASS 解釋 fable on opus 的意思,只回傳 JSON,包含 requestedProfile、effectiveProfile、runtimeEffort。: lookup selects only compact reference
365
+ PASS 解釋 fable on opus 的意思,只回傳 JSON,包含 requestedProfile、effectiveProfile、runtimeEffort。: lookup omits unrelated keyword guides
366
+ PASS 解釋 fable on opus 的意思,只回傳 JSON,包含 requestedProfile、effectiveProfile、runtimeEffort。: lookup does not send agent to selector implementation
367
+ PASS 解釋 fable on opus 的意思,只回傳 JSON,包含 requestedProfile、effectiveProfile、runtimeEffort。: lookup contract is deterministic
368
+ PASS bounded Fable lookup: tier router exits successfully
369
+ PASS bounded Fable lookup: structured contract exists
370
+ PASS bounded Fable lookup: contract validates (no errors)
371
+ PASS Explain what 'use fable on opus' means; no execution or model switching.: lookup remains a bounded Tier 1 operation
372
+ PASS Explain what 'use fable on opus' means; no execution or model switching.: lookup selects direct-single before loading references
373
+ PASS lookup does not delegate
374
+ PASS Explain what 'use fable on opus' means; no execution or model switching.: lookup selects only compact reference
375
+ PASS Explain what 'use fable on opus' means; no execution or model switching.: lookup omits unrelated keyword guides
376
+ PASS Explain what 'use fable on opus' means; no execution or model switching.: lookup does not send agent to selector implementation
377
+ PASS Explain what 'use fable on opus' means; no execution or model switching.: lookup contract is deterministic
378
+ PASS bounded Fable lookup: tier router exits successfully
379
+ PASS bounded Fable lookup: structured contract exists
380
+ PASS bounded Fable lookup: contract validates (no errors)
381
+ PASS Explain fable on sonnet; return JSON; no stages, delegation or execution.: lookup remains a bounded Tier 1 operation
382
+ PASS Explain fable on sonnet; return JSON; no stages, delegation or execution.: lookup selects direct-single before loading references
383
+ PASS lookup does not delegate
384
+ PASS Explain fable on sonnet; return JSON; no stages, delegation or execution.: lookup selects only compact reference
385
+ PASS Explain fable on sonnet; return JSON; no stages, delegation or execution.: lookup omits unrelated keyword guides
386
+ PASS Explain fable on sonnet; return JSON; no stages, delegation or execution.: lookup does not send agent to selector implementation
387
+ PASS Explain fable on sonnet; return JSON; no stages, delegation or execution.: lookup contract is deterministic
388
+ PASS bounded Fable lookup: tier router exits successfully
389
+ PASS bounded Fable lookup: structured contract exists
390
+ PASS bounded Fable lookup: contract validates (no errors)
391
+ PASS 請說明 fable on sonnet 的意思,並只回傳含 requestedProfile 的 JSON。: lookup remains a bounded Tier 1 operation
392
+ PASS 請說明 fable on sonnet 的意思,並只回傳含 requestedProfile 的 JSON。: lookup selects direct-single before loading references
393
+ PASS lookup does not delegate
394
+ PASS 請說明 fable on sonnet 的意思,並只回傳含 requestedProfile 的 JSON。: lookup selects only compact reference
395
+ PASS 請說明 fable on sonnet 的意思,並只回傳含 requestedProfile 的 JSON。: lookup omits unrelated keyword guides
396
+ PASS 請說明 fable on sonnet 的意思,並只回傳含 requestedProfile 的 JSON。: lookup does not send agent to selector implementation
397
+ PASS 請說明 fable on sonnet 的意思,並只回傳含 requestedProfile 的 JSON。: lookup contract is deterministic
398
+ PASS bounded Fable lookup: tier router exits successfully
399
+ PASS bounded Fable lookup: structured contract exists
400
+ PASS bounded Fable lookup: contract validates (no errors)
401
+ PASS Explain fable on sonnet, please return JSON.: lookup remains a bounded Tier 1 operation
402
+ PASS Explain fable on sonnet, please return JSON.: lookup selects direct-single before loading references
403
+ PASS lookup does not delegate
404
+ PASS Explain fable on sonnet, please return JSON.: lookup selects only compact reference
405
+ PASS Explain fable on sonnet, please return JSON.: lookup omits unrelated keyword guides
406
+ PASS Explain fable on sonnet, please return JSON.: lookup does not send agent to selector implementation
407
+ PASS Explain fable on sonnet, please return JSON.: lookup contract is deterministic
408
+ PASS bounded Fable lookup: tier router exits successfully
409
+ PASS bounded Fable lookup: structured contract exists
410
+ PASS bounded Fable lookup: contract validates (no errors)
411
+ PASS Explain fable on sonnet and please return only JSON.: lookup remains a bounded Tier 1 operation
412
+ PASS Explain fable on sonnet and please return only JSON.: lookup selects direct-single before loading references
413
+ PASS lookup does not delegate
414
+ PASS Explain fable on sonnet and please return only JSON.: lookup selects only compact reference
415
+ PASS Explain fable on sonnet and please return only JSON.: lookup omits unrelated keyword guides
416
+ PASS Explain fable on sonnet and please return only JSON.: lookup does not send agent to selector implementation
417
+ PASS Explain fable on sonnet and please return only JSON.: lookup contract is deterministic
418
+ PASS bounded Fable lookup: tier router exits successfully
419
+ PASS bounded Fable lookup: structured contract exists
420
+ PASS bounded Fable lookup: contract validates (no errors)
421
+ PASS 請說明 fable on sonnet,請只回傳 JSON。: lookup remains a bounded Tier 1 operation
422
+ PASS 請說明 fable on sonnet,請只回傳 JSON。: lookup selects direct-single before loading references
423
+ PASS lookup does not delegate
424
+ PASS 請說明 fable on sonnet,請只回傳 JSON。: lookup selects only compact reference
425
+ PASS 請說明 fable on sonnet,請只回傳 JSON。: lookup omits unrelated keyword guides
426
+ PASS 請說明 fable on sonnet,請只回傳 JSON。: lookup does not send agent to selector implementation
427
+ PASS 請說明 fable on sonnet,請只回傳 JSON。: lookup contract is deterministic
428
+ PASS bounded Fable lookup: tier router exits successfully
429
+ PASS bounded Fable lookup: structured contract exists
430
+ PASS bounded Fable lookup: contract validates (no errors)
431
+ PASS Explain what “run fable on sonnect” means; return only JSON.: lookup remains a bounded Tier 1 operation
432
+ PASS Explain what “run fable on sonnect” means; return only JSON.: lookup selects direct-single before loading references
433
+ PASS lookup does not delegate
434
+ PASS Explain what “run fable on sonnect” means; return only JSON.: lookup selects only compact reference
435
+ PASS Explain what “run fable on sonnect” means; return only JSON.: lookup omits unrelated keyword guides
436
+ PASS Explain what “run fable on sonnect” means; return only JSON.: lookup does not send agent to selector implementation
437
+ PASS Explain what “run fable on sonnect” means; return only JSON.: lookup contract is deterministic
438
+ PASS bounded Fable lookup: tier router exits successfully
439
+ PASS bounded Fable lookup: structured contract exists
440
+ PASS bounded Fable lookup: contract validates (no errors)
441
+ PASS Explain what ‘use fable on opus’ means.: lookup remains a bounded Tier 1 operation
442
+ PASS Explain what ‘use fable on opus’ means.: lookup selects direct-single before loading references
443
+ PASS lookup does not delegate
444
+ PASS Explain what ‘use fable on opus’ means.: lookup selects only compact reference
445
+ PASS Explain what ‘use fable on opus’ means.: lookup omits unrelated keyword guides
446
+ PASS Explain what ‘use fable on opus’ means.: lookup does not send agent to selector implementation
447
+ PASS Explain what ‘use fable on opus’ means.: lookup contract is deterministic
448
+ PASS bounded Fable lookup: tier router exits successfully
449
+ PASS bounded Fable lookup: structured contract exists
450
+ PASS bounded Fable lookup: contract validates (no errors)
451
+ PASS Explain fable on sonnet; no model switching.: lookup remains a bounded Tier 1 operation
452
+ PASS Explain fable on sonnet; no model switching.: lookup selects direct-single before loading references
453
+ PASS lookup does not delegate
454
+ PASS Explain fable on sonnet; no model switching.: lookup selects only compact reference
455
+ PASS Explain fable on sonnet; no model switching.: lookup omits unrelated keyword guides
456
+ PASS Explain fable on sonnet; no model switching.: lookup does not send agent to selector implementation
457
+ PASS Explain fable on sonnet; no model switching.: lookup contract is deterministic
458
+ PASS bounded Fable lookup: tier router exits successfully
459
+ PASS bounded Fable lookup: structured contract exists
460
+ PASS bounded Fable lookup: contract validates (no errors)
461
+ PASS Explain fable on sonnet; don't switch model or delegate.: lookup remains a bounded Tier 1 operation
462
+ PASS Explain fable on sonnet; don't switch model or delegate.: lookup selects direct-single before loading references
463
+ PASS lookup does not delegate
464
+ PASS Explain fable on sonnet; don't switch model or delegate.: lookup selects only compact reference
465
+ PASS Explain fable on sonnet; don't switch model or delegate.: lookup omits unrelated keyword guides
466
+ PASS Explain fable on sonnet; don't switch model or delegate.: lookup does not send agent to selector implementation
467
+ PASS Explain fable on sonnet; don't switch model or delegate.: lookup contract is deterministic
468
+ PASS bounded Fable lookup: tier router exits successfully
469
+ PASS bounded Fable lookup: structured contract exists
470
+ PASS bounded Fable lookup: contract validates (no errors)
471
+ PASS Explain fable on sonnet; no stages and no delegation.: lookup remains a bounded Tier 1 operation
472
+ PASS Explain fable on sonnet; no stages and no delegation.: lookup selects direct-single before loading references
473
+ PASS lookup does not delegate
474
+ PASS Explain fable on sonnet; no stages and no delegation.: lookup selects only compact reference
475
+ PASS Explain fable on sonnet; no stages and no delegation.: lookup omits unrelated keyword guides
476
+ PASS Explain fable on sonnet; no stages and no delegation.: lookup does not send agent to selector implementation
477
+ PASS Explain fable on sonnet; no stages and no delegation.: lookup contract is deterministic
478
+ PASS bounded Fable lookup: tier router exits successfully
479
+ PASS bounded Fable lookup: structured contract exists
480
+ PASS bounded Fable lookup: contract validates (no errors)
481
+ PASS 解釋 fable on sonnet,不要委派或切換模型。: lookup remains a bounded Tier 1 operation
482
+ PASS 解釋 fable on sonnet,不要委派或切換模型。: lookup selects direct-single before loading references
483
+ PASS lookup does not delegate
484
+ PASS 解釋 fable on sonnet,不要委派或切換模型。: lookup selects only compact reference
485
+ PASS 解釋 fable on sonnet,不要委派或切換模型。: lookup omits unrelated keyword guides
486
+ PASS 解釋 fable on sonnet,不要委派或切換模型。: lookup does not send agent to selector implementation
487
+ PASS 解釋 fable on sonnet,不要委派或切換模型。: lookup contract is deterministic
488
+ PASS Fable execution boundary: tier router exits successfully
489
+ PASS Fable execution boundary: structured contract exists
490
+ PASS Fable execution boundary: contract validates (no errors)
491
+ PASS execution/macro scope preserves staged topology
492
+ PASS mixed execution never records the bounded lookup reason
493
+ PASS execution retains isolation obligation
494
+ PASS Fable execution boundary: tier router exits successfully
495
+ PASS Fable execution boundary: structured contract exists
496
+ PASS Fable execution boundary: contract validates (no errors)
497
+ PASS execution/macro scope preserves staged topology
498
+ PASS mixed execution never records the bounded lookup reason
499
+ PASS execution retains isolation obligation
500
+ PASS Fable execution boundary: tier router exits successfully
501
+ PASS Fable execution boundary: structured contract exists
502
+ PASS Fable execution boundary: contract validates (no errors)
503
+ PASS execution/macro scope preserves staged topology
504
+ PASS mixed execution never records the bounded lookup reason
505
+ PASS execution retains isolation obligation
506
+ PASS Fable execution boundary: tier router exits successfully
507
+ PASS Fable execution boundary: structured contract exists
508
+ PASS Fable execution boundary: contract validates (no errors)
509
+ PASS execution/macro scope preserves staged topology
510
+ PASS mixed execution never records the bounded lookup reason
511
+ PASS execution retains isolation obligation
512
+ PASS Fable execution boundary: tier router exits successfully
513
+ PASS Fable execution boundary: structured contract exists
514
+ PASS Fable execution boundary: contract validates (no errors)
515
+ PASS execution/macro scope preserves staged topology
516
+ PASS mixed execution never records the bounded lookup reason
517
+ PASS execution retains isolation obligation
518
+ PASS Fable execution boundary: tier router exits successfully
519
+ PASS Fable execution boundary: structured contract exists
520
+ PASS Fable execution boundary: contract validates (no errors)
521
+ PASS execution/macro scope preserves staged topology
522
+ PASS mixed execution never records the bounded lookup reason
523
+ PASS execution retains isolation obligation
524
+ PASS Fable execution boundary: tier router exits successfully
525
+ PASS Fable execution boundary: structured contract exists
526
+ PASS Fable execution boundary: contract validates (no errors)
527
+ PASS execution/macro scope preserves staged topology
528
+ PASS mixed execution never records the bounded lookup reason
529
+ PASS execution retains isolation obligation
530
+ PASS Fable execution boundary: tier router exits successfully
531
+ PASS Fable execution boundary: structured contract exists
532
+ PASS Fable execution boundary: contract validates (no errors)
533
+ PASS execution/macro scope preserves staged topology
534
+ PASS mixed execution never records the bounded lookup reason
535
+ PASS execution retains isolation obligation
536
+ PASS Fable execution boundary: tier router exits successfully
537
+ PASS Fable execution boundary: structured contract exists
538
+ PASS Fable execution boundary: contract validates (no errors)
539
+ PASS execution/macro scope preserves staged topology
540
+ PASS mixed execution never records the bounded lookup reason
541
+ PASS execution retains isolation obligation
542
+ PASS Fable execution boundary: tier router exits successfully
543
+ PASS Fable execution boundary: structured contract exists
544
+ PASS Fable execution boundary: contract validates (no errors)
545
+ PASS execution/macro scope preserves staged topology
546
+ PASS mixed execution never records the bounded lookup reason
547
+ PASS execution retains isolation obligation
548
+ PASS Fable execution boundary: tier router exits successfully
549
+ PASS Fable execution boundary: structured contract exists
550
+ PASS Fable execution boundary: contract validates (no errors)
551
+ PASS execution/macro scope preserves staged topology
552
+ PASS mixed execution never records the bounded lookup reason
553
+ PASS execution retains isolation obligation
554
+ PASS Fable execution boundary: tier router exits successfully
555
+ PASS Fable execution boundary: structured contract exists
556
+ PASS Fable execution boundary: contract validates (no errors)
557
+ PASS execution/macro scope preserves staged topology
558
+ PASS mixed execution never records the bounded lookup reason
559
+ PASS execution retains isolation obligation
560
+ PASS Fable execution boundary: tier router exits successfully
561
+ PASS Fable execution boundary: structured contract exists
562
+ PASS Fable execution boundary: contract validates (no errors)
563
+ PASS execution/macro scope preserves staged topology
564
+ PASS mixed execution never records the bounded lookup reason
565
+ PASS execution retains isolation obligation
566
+ PASS Fable execution boundary: tier router exits successfully
567
+ PASS Fable execution boundary: structured contract exists
568
+ PASS Fable execution boundary: contract validates (no errors)
569
+ PASS execution/macro scope preserves staged topology
570
+ PASS mixed execution never records the bounded lookup reason
571
+ PASS execution retains isolation obligation
572
+ PASS Fable execution boundary: tier router exits successfully
573
+ PASS Fable execution boundary: structured contract exists
574
+ PASS Fable execution boundary: contract validates (no errors)
575
+ PASS execution/macro scope preserves staged topology
576
+ PASS mixed execution never records the bounded lookup reason
577
+ PASS execution retains isolation obligation
578
+ PASS Fable execution boundary: tier router exits successfully
579
+ PASS Fable execution boundary: structured contract exists
580
+ PASS Fable execution boundary: contract validates (no errors)
581
+ PASS execution/macro scope preserves staged topology
582
+ PASS mixed execution never records the bounded lookup reason
583
+ PASS execution retains isolation obligation
584
+ PASS Fable execution boundary: tier router exits successfully
585
+ PASS Fable execution boundary: structured contract exists
586
+ PASS Fable execution boundary: contract validates (no errors)
587
+ PASS execution/macro scope preserves staged topology
588
+ PASS mixed execution never records the bounded lookup reason
589
+ PASS execution retains isolation obligation
590
+ PASS Fable execution boundary: tier router exits successfully
591
+ PASS Fable execution boundary: structured contract exists
592
+ PASS Fable execution boundary: contract validates (no errors)
593
+ PASS execution/macro scope preserves staged topology
594
+ PASS mixed execution never records the bounded lookup reason
595
+ PASS execution retains isolation obligation
596
+ PASS Fable execution boundary: tier router exits successfully
597
+ PASS Fable execution boundary: structured contract exists
598
+ PASS Fable execution boundary: contract validates (no errors)
599
+ PASS execution/macro scope preserves staged topology
600
+ PASS mixed execution never records the bounded lookup reason
601
+ PASS execution retains isolation obligation
602
+ PASS Fable execution boundary: tier router exits successfully
603
+ PASS Fable execution boundary: structured contract exists
604
+ PASS Fable execution boundary: contract validates (no errors)
605
+ PASS execution/macro scope preserves staged topology
606
+ PASS mixed execution never records the bounded lookup reason
607
+ PASS execution retains isolation obligation
608
+ PASS Fable execution boundary: tier router exits successfully
609
+ PASS Fable execution boundary: structured contract exists
610
+ PASS Fable execution boundary: contract validates (no errors)
611
+ PASS execution/macro scope preserves staged topology
612
+ PASS mixed execution never records the bounded lookup reason
613
+ PASS execution retains isolation obligation
614
+ PASS Fable execution boundary: tier router exits successfully
615
+ PASS Fable execution boundary: structured contract exists
616
+ PASS Fable execution boundary: contract validates (no errors)
617
+ PASS execution/macro scope preserves staged topology
618
+ PASS mixed execution never records the bounded lookup reason
619
+ PASS execution retains isolation obligation
620
+ PASS Fable execution boundary: tier router exits successfully
621
+ PASS Fable execution boundary: structured contract exists
622
+ PASS Fable execution boundary: contract validates (no errors)
623
+ PASS execution/macro scope preserves staged topology
624
+ PASS mixed execution never records the bounded lookup reason
625
+ PASS execution retains isolation obligation
626
+ PASS Fable execution boundary: tier router exits successfully
627
+ PASS Fable execution boundary: structured contract exists
628
+ PASS Fable execution boundary: contract validates (no errors)
629
+ PASS execution/macro scope preserves staged topology
630
+ PASS mixed execution never records the bounded lookup reason
631
+ PASS execution retains isolation obligation
632
+ PASS Fable execution boundary: tier router exits successfully
633
+ PASS Fable execution boundary: structured contract exists
634
+ PASS Fable execution boundary: contract validates (no errors)
635
+ PASS execution/macro scope preserves staged topology
636
+ PASS mixed execution never records the bounded lookup reason
637
+ PASS execution retains isolation obligation
638
+ PASS Fable execution boundary: tier router exits successfully
639
+ PASS Fable execution boundary: structured contract exists
640
+ PASS Fable execution boundary: contract validates (no errors)
641
+ PASS execution/macro scope preserves staged topology
642
+ PASS mixed execution never records the bounded lookup reason
643
+ PASS execution retains isolation obligation
644
+ PASS Fable execution boundary: tier router exits successfully
645
+ PASS Fable execution boundary: structured contract exists
646
+ PASS Fable execution boundary: contract validates (no errors)
647
+ PASS execution/macro scope preserves staged topology
648
+ PASS mixed execution never records the bounded lookup reason
649
+ PASS execution retains isolation obligation
650
+ PASS Fable execution boundary: tier router exits successfully
651
+ PASS Fable execution boundary: structured contract exists
652
+ PASS Fable execution boundary: contract validates (no errors)
653
+ PASS execution/macro scope preserves staged topology
654
+ PASS mixed execution never records the bounded lookup reason
655
+ PASS execution retains isolation obligation
656
+ PASS Fable execution boundary: tier router exits successfully
657
+ PASS Fable execution boundary: structured contract exists
658
+ PASS Fable execution boundary: contract validates (no errors)
659
+ PASS execution/macro scope preserves staged topology
660
+ PASS mixed execution never records the bounded lookup reason
661
+ PASS execution retains isolation obligation
662
+ PASS Fable execution boundary: tier router exits successfully
663
+ PASS Fable execution boundary: structured contract exists
664
+ PASS Fable execution boundary: contract validates (no errors)
665
+ PASS execution/macro scope preserves staged topology
666
+ PASS mixed execution never records the bounded lookup reason
667
+ PASS execution retains isolation obligation
668
+ PASS Fable execution boundary: tier router exits successfully
669
+ PASS Fable execution boundary: structured contract exists
670
+ PASS Fable execution boundary: contract validates (no errors)
671
+ PASS execution/macro scope preserves staged topology
672
+ PASS mixed execution never records the bounded lookup reason
673
+ PASS execution retains isolation obligation
674
+ PASS explicit strategy override: tier router exits successfully
675
+ PASS explicit strategy override: structured contract exists
676
+ PASS explicit strategy override: contract validates (no errors)
677
+ PASS explicit user strategy overrides derived Tier 3 topology
678
+ PASS explicit strategy override is recorded
679
+ PASS parallel prohibition: tier router exits successfully
680
+ PASS parallel prohibition: structured contract exists
681
+ PASS parallel prohibition: contract validates (no errors)
682
+ PASS explicit no-parallel prohibition serializes derived parallel work
683
+ PASS parallel prohibition is a visible reduced fallback
684
+ PASS parallel prohibition reason is recorded
685
+ PASS parallel capability fallback: tier router exits successfully
686
+ PASS parallel capability fallback: structured contract exists
687
+ PASS parallel capability fallback: contract validates (no errors)
688
+ PASS missing parallel capability serializes to fable-staged
689
+ PASS parallel capability fallback is visibly serialized
690
+ PASS missing parallel capability reason is recorded
691
+ PASS concurrency budget fallback: tier router exits successfully
692
+ PASS concurrency budget fallback: structured contract exists
693
+ PASS concurrency budget fallback: contract validates (no errors)
694
+ PASS concurrency=1 serializes fable-parallel
695
+ PASS concurrency budget reason is recorded
696
+ PASS workspace state block: tier router exits successfully
697
+ PASS workspace state block: structured contract exists
698
+ PASS workspace state block: contract validates (no errors)
699
+ PASS workspace requirement remains explicit when state is unavailable
700
+ PASS missing durable state blocks rather than silently downgrades
701
+ PASS workspace block reason is recorded
702
+ PASS runtime model capability advisory: tier router exits successfully
703
+ PASS runtime model capability advisory: structured contract exists
704
+ PASS runtime model capability advisory: contract validates (no errors)
705
+ PASS opus remains a behavior-profile alias
706
+ PASS runtime model availability does not block Fable profile selection
707
+ PASS router no longer treats a branded model as a Fable requirement
708
+ PASS actionGate capability block: tier router exits successfully
709
+ PASS actionGate capability block: structured contract exists
710
+ PASS actionGate capability block: contract validates (no errors)
711
+ PASS actionGate requirement survives missing hook capability
712
+ PASS known missing action-gate hook blocks side effect
713
+ PASS missing hook capability is visible
714
+ PASS overlapping keywords deduplicate normalized security input signals
715
+ PASS keyword matching does not print a document path
716
+ PASS keyword matching no longer pushes guide lists
717
+ PASS profile lookup clause splitting keeps filenames and dotted versions intact
718
+ PASS profile lookup clause splitting recognizes a no-space output clause boundary
719
+ PASS same normalized input produces byte-equivalent structured contracts
720
+ PASS degraded routing: tier router exits successfully
721
+ PASS degraded routing: structured contract exists
722
+ PASS degraded routing: contract validates (no errors)
723
+ PASS invalid routing config emits routingStatus=degraded
724
+ PASS invalid routing config never silently becomes Tier 1
725
+ PASS degraded routing does not select a strategy
726
+ PASS degraded strategy deferral is explicit
727
+ PASS kernel consumes selected/deferred structured contract successfully
728
+ PASS kernel emits the Phase 2 workflow-plan checkpoint
729
+ PASS kernel exposes deferred unclassified selection
730
+ PASS kernel does not expose a silent Tier 1 fallback for unmatched prompts
731
+ PASS host notification persistence failure stays fail-open
732
+ PASS host notification remains a routing no-op when state persistence fails
733
+ PASS host notification persistence failure remains visible as a reminder
734
+ PASS kernel consumes strategy from structured plan
735
+ PASS kernel prints dynamic semantic plan obligations
736
+ PASS kernel prints the user-visible status invariant
737
+ PASS kernel prints the canonical mandatory user-visible status contract
738
+ PASS kernel identifies knowledge signals as planning inputs
739
+ PASS initial router output waits for an active step before disclosing a skill path
740
+ PASS legacy read-every-suggestion invariant is removed
741
+ PASS retained workflow fixture routes successfully
742
+ PASS new selected workflow exposes its planning step
743
+ PASS retained workflow records typed requirements before execution
744
+ PASS retained workflow starts at its first typed step
745
+ PASS start returns concrete active binding and step disposition commands
746
+ PASS retained workflow advances to its active behavior-change step
747
+ PASS host notification retains the active workflow
748
+ PASS retained notification preserves only the active step and its binding
749
+ PASS retained notification surfaces the binding and step disposition syntax
750
+ PASS retained notification hides future-step bindings
751
+ PASS host notification avoids repeating the full workflow contract
752
+ PASS host notification does not replace or advance workflow state
753
+ PASS harness-everything/schemas/router-task-shape.schema.json is valid JSON Schema metadata
754
+ PASS harness-everything/schemas/router-workflow-plan.schema.json is valid JSON Schema metadata
755
+
756
+ PASS: router workflow plan phase 2 (0 failures)
757
+ === Workflow Guidance Contract ===
758
+ PASS harness-everything/scripts/kernel-router.js parses as valid JavaScript
759
+ PASS hooks/scripts/workflow-gate.js parses as valid JavaScript
760
+ PASS hooks/scripts/workflow-stop-gate.js parses as valid JavaScript
761
+ PASS hooks/scripts/workflow-disposition.js parses as valid JavaScript
762
+ PASS hooks/scripts/state-persist.js parses as valid JavaScript
763
+ PASS hooks/scripts/rule-of-3.js parses as valid JavaScript
764
+ PASS hooks/scripts/rule-of-3-tracker.js parses as valid JavaScript
765
+ PASS iteration remains a MAY planning hint rather than blocking
766
+ PASS revision remains a MAY planning hint rather than blocking
767
+ PASS replan remains a MAY planning hint rather than blocking
768
+ PASS worker-acquire remains a MAY planning hint rather than blocking
769
+ PASS mutation probes reserve no capacity
770
+ PASS mutation probe registration is a no-op
771
+ PASS reset-budget API is retired compatibility only
772
+ PASS reset-budget is no longer a controller command
773
+ PASS runtime contains no mutation-probe lock
774
+ PASS runtime contains no budget-exhausted transition
775
+ PASS workflow gate has no probe/budget enforcement
776
+ PASS workflow gate emits reminders
777
+ PASS Rule of 3 uses fixed third-failure boundary
778
+ PASS Rule of 3 has no second-stage permanent hard lock
779
+ PASS Rule of 3 has no category-specific thresholds
780
+ PASS OpenCode has no permanent hard-lock action
781
+ PASS obsolete mutation-probe PermissionDenied hook is removed
782
+ PASS Fable independent verifier accepts edits older than verifier evidence
783
+ PASS Fable independent verifier is invalidated by newer handoff shell-edit evidence
784
+
785
+ PASS: workflow semantic contract mechanics (0 failures)