@nimiplatform/nimi-coding 0.2.7 → 0.3.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 (207) hide show
  1. package/CHANGELOG.md +8 -80
  2. package/CONTRIBUTING.md +5 -34
  3. package/README.md +47 -350
  4. package/README.zh-CN.md +33 -287
  5. package/cli/commands/start.mjs +48 -688
  6. package/cli/commands/validate-spec-audit.mjs +1 -5
  7. package/cli/constants.mjs +9 -417
  8. package/cli/dev/run-cli-smoke.mjs +24 -0
  9. package/cli/dev/run-suite.mjs +17 -0
  10. package/cli/help.mjs +28 -145
  11. package/cli/index.mjs +5 -33
  12. package/cli/lib/blueprint-audit.mjs +5 -12
  13. package/cli/lib/bootstrap.mjs +0 -9
  14. package/cli/lib/contracts.mjs +0 -163
  15. package/cli/lib/doctor.mjs +155 -10
  16. package/cli/lib/entrypoints.mjs +63 -167
  17. package/cli/lib/internal/contracts-loaders.mjs +0 -85
  18. package/cli/lib/internal/contracts-parse.mjs +84 -520
  19. package/cli/lib/internal/governance/ai/check-agents-freshness.mjs +13 -8
  20. package/cli/lib/internal/surface-taxonomy-validators.mjs +316 -66
  21. package/cli/lib/internal/validators-shared.mjs +0 -16
  22. package/cli/lib/internal/validators-spec-helpers.mjs +7 -140
  23. package/cli/lib/internal/validators-spec.mjs +103 -342
  24. package/cli/lib/shared.mjs +1 -42
  25. package/cli/lib/validators.mjs +0 -48
  26. package/cli/seeds/seed-policy.yaml +0 -3
  27. package/config/bootstrap.yaml +4 -4
  28. package/config/spec-generation-inputs.yaml +6 -12
  29. package/contracts/domain-admission.schema.yaml +3 -3
  30. package/contracts/migration-inventory.schema.yaml +12 -75
  31. package/contracts/negative-fixtures.yaml +19 -99
  32. package/contracts/placement-contract.schema.yaml +49 -78
  33. package/contracts/projection-edge.schema.yaml +37 -121
  34. package/contracts/shared-enums.yaml +4 -8
  35. package/contracts/spec-generation-inputs.schema.yaml +15 -112
  36. package/contracts/spec-layout.schema.yaml +32 -0
  37. package/contracts/surface-taxonomy.schema.yaml +43 -94
  38. package/contracts/table-family.schema.yaml +1 -1
  39. package/contracts/tracked-output-admission.schema.yaml +13 -66
  40. package/methodology/core.yaml +33 -25
  41. package/methodology/four-closure-policy.yaml +18 -26
  42. package/methodology/role-separation-policy.yaml +21 -27
  43. package/methodology/spec-reconstruction.yaml +17 -34
  44. package/package.json +4 -6
  45. package/spec/_meta/spec-tree-model.yaml +5 -101
  46. package/spec/product-scope.yaml +25 -57
  47. package/adapters/README.md +0 -25
  48. package/adapters/claude/README.md +0 -89
  49. package/adapters/claude/profile.yaml +0 -70
  50. package/adapters/codex/README.md +0 -53
  51. package/adapters/codex/profile.yaml +0 -78
  52. package/adapters/oh-my-codex/README.md +0 -184
  53. package/adapters/oh-my-codex/profile.yaml +0 -46
  54. package/cli/commands/admit-high-risk-decision.mjs +0 -108
  55. package/cli/commands/audit-sweep.mjs +0 -364
  56. package/cli/commands/closeout.mjs +0 -186
  57. package/cli/commands/decide-high-risk-execution.mjs +0 -124
  58. package/cli/commands/handoff.mjs +0 -123
  59. package/cli/commands/ingest-high-risk-execution.mjs +0 -95
  60. package/cli/commands/review-high-risk-execution.mjs +0 -95
  61. package/cli/commands/sweep-design.mjs +0 -295
  62. package/cli/commands/sweep.mjs +0 -22
  63. package/cli/commands/topic-formatters.mjs +0 -382
  64. package/cli/commands/topic-goal.mjs +0 -33
  65. package/cli/commands/topic-options-shared.mjs +0 -27
  66. package/cli/commands/topic-options-workflow.mjs +0 -767
  67. package/cli/commands/topic-options.mjs +0 -626
  68. package/cli/commands/topic-runner.mjs +0 -169
  69. package/cli/commands/topic.mjs +0 -795
  70. package/cli/commands/validate-acceptance.mjs +0 -5
  71. package/cli/commands/validate-execution-packet.mjs +0 -5
  72. package/cli/commands/validate-orchestration-state.mjs +0 -5
  73. package/cli/commands/validate-prompt.mjs +0 -5
  74. package/cli/commands/validate-worker-output.mjs +0 -5
  75. package/cli/lib/adapter-profiles.mjs +0 -403
  76. package/cli/lib/audit-execution.mjs +0 -52
  77. package/cli/lib/audit-sweep-runtime/admissions.mjs +0 -508
  78. package/cli/lib/audit-sweep-runtime/audit-validity.mjs +0 -356
  79. package/cli/lib/audit-sweep-runtime/chunks.mjs +0 -697
  80. package/cli/lib/audit-sweep-runtime/claude-auditor.mjs +0 -647
  81. package/cli/lib/audit-sweep-runtime/closeout.mjs +0 -144
  82. package/cli/lib/audit-sweep-runtime/codex-auditor-evidence.mjs +0 -654
  83. package/cli/lib/audit-sweep-runtime/codex-auditor.mjs +0 -516
  84. package/cli/lib/audit-sweep-runtime/common.mjs +0 -341
  85. package/cli/lib/audit-sweep-runtime/coverage-quality.mjs +0 -172
  86. package/cli/lib/audit-sweep-runtime/evidence-assignment.mjs +0 -155
  87. package/cli/lib/audit-sweep-runtime/format.mjs +0 -57
  88. package/cli/lib/audit-sweep-runtime/ingest.mjs +0 -486
  89. package/cli/lib/audit-sweep-runtime/inventory-spec-chunks.mjs +0 -425
  90. package/cli/lib/audit-sweep-runtime/inventory.mjs +0 -798
  91. package/cli/lib/audit-sweep-runtime/ledger.mjs +0 -315
  92. package/cli/lib/audit-sweep-runtime/p0p1-profile.mjs +0 -101
  93. package/cli/lib/audit-sweep-runtime/remediation.mjs +0 -349
  94. package/cli/lib/audit-sweep-runtime/rerun.mjs +0 -129
  95. package/cli/lib/audit-sweep-runtime/risk-budget.mjs +0 -300
  96. package/cli/lib/audit-sweep-runtime/status.mjs +0 -62
  97. package/cli/lib/audit-sweep-runtime/validators-ledger.mjs +0 -215
  98. package/cli/lib/audit-sweep-runtime/validators.mjs +0 -797
  99. package/cli/lib/audit-sweep.mjs +0 -19
  100. package/cli/lib/authority-convergence.mjs +0 -704
  101. package/cli/lib/closeout.mjs +0 -732
  102. package/cli/lib/codex-sdk-runner.mjs +0 -76
  103. package/cli/lib/external-execution.mjs +0 -101
  104. package/cli/lib/handoff.mjs +0 -812
  105. package/cli/lib/high-risk-admission.mjs +0 -512
  106. package/cli/lib/high-risk-decision.mjs +0 -353
  107. package/cli/lib/high-risk-ingest.mjs +0 -321
  108. package/cli/lib/high-risk-review.mjs +0 -267
  109. package/cli/lib/internal/contracts-parse-high-risk.mjs +0 -131
  110. package/cli/lib/internal/contracts-validators.mjs +0 -399
  111. package/cli/lib/internal/doctor-bootstrap-surface.mjs +0 -406
  112. package/cli/lib/internal/doctor-delegated-surface.mjs +0 -256
  113. package/cli/lib/internal/doctor-finalize.mjs +0 -383
  114. package/cli/lib/internal/doctor-format.mjs +0 -286
  115. package/cli/lib/internal/doctor-inspectors.mjs +0 -327
  116. package/cli/lib/internal/doctor-state.mjs +0 -205
  117. package/cli/lib/internal/validators-artifacts.mjs +0 -515
  118. package/cli/lib/sweep-design-runtime/common.mjs +0 -246
  119. package/cli/lib/sweep-design-runtime/engine.mjs +0 -733
  120. package/cli/lib/sweep-design-runtime/fix-topic.mjs +0 -414
  121. package/cli/lib/sweep-design-runtime/lifecycle.mjs +0 -54
  122. package/cli/lib/sweep-design-runtime/results.mjs +0 -324
  123. package/cli/lib/sweep-design.mjs +0 -8
  124. package/cli/lib/topic-artifacts.mjs +0 -186
  125. package/cli/lib/topic-authority-coverage.mjs +0 -73
  126. package/cli/lib/topic-closeout.mjs +0 -560
  127. package/cli/lib/topic-common.mjs +0 -404
  128. package/cli/lib/topic-decisions.mjs +0 -332
  129. package/cli/lib/topic-draft-packets.mjs +0 -167
  130. package/cli/lib/topic-execution.mjs +0 -515
  131. package/cli/lib/topic-goal.mjs +0 -440
  132. package/cli/lib/topic-ledger.mjs +0 -281
  133. package/cli/lib/topic-lifecycle-artifacts.mjs +0 -173
  134. package/cli/lib/topic-root-validation.mjs +0 -288
  135. package/cli/lib/topic-runner-commands.mjs +0 -174
  136. package/cli/lib/topic-runner-deferral.mjs +0 -532
  137. package/cli/lib/topic-runner-stale-gates.mjs +0 -114
  138. package/cli/lib/topic-runner-validation.mjs +0 -138
  139. package/cli/lib/topic-runner.mjs +0 -727
  140. package/cli/lib/topic-scaffold.mjs +0 -252
  141. package/cli/lib/topic-waves.mjs +0 -403
  142. package/cli/lib/topic.mjs +0 -81
  143. package/config/audit-execution-artifacts.yaml +0 -20
  144. package/config/external-execution-artifacts.yaml +0 -16
  145. package/config/host-adapter.yaml +0 -30
  146. package/config/host-profile.yaml +0 -29
  147. package/config/installer-evidence.yaml +0 -31
  148. package/config/skill-installer.yaml +0 -23
  149. package/config/skill-manifest.yaml +0 -48
  150. package/config/skills.yaml +0 -30
  151. package/contracts/acceptance.schema.yaml +0 -16
  152. package/contracts/admission-checklist.schema.yaml +0 -15
  153. package/contracts/audit-chunk.schema.yaml +0 -123
  154. package/contracts/audit-closeout.schema.yaml +0 -51
  155. package/contracts/audit-finding.schema.yaml +0 -61
  156. package/contracts/audit-ledger.schema.yaml +0 -138
  157. package/contracts/audit-plan.schema.yaml +0 -138
  158. package/contracts/audit-remediation-map.schema.yaml +0 -52
  159. package/contracts/audit-rerun.schema.yaml +0 -31
  160. package/contracts/audit-sweep-result.yaml +0 -53
  161. package/contracts/authority-convergence-audit.schema.yaml +0 -19
  162. package/contracts/closeout.schema.yaml +0 -25
  163. package/contracts/decision-review.schema.yaml +0 -16
  164. package/contracts/doc-spec-audit-result.yaml +0 -19
  165. package/contracts/execution-packet.schema.yaml +0 -49
  166. package/contracts/external-host-compatibility.yaml +0 -22
  167. package/contracts/forbidden-shortcuts.catalog.yaml +0 -23
  168. package/contracts/high-risk-admission.schema.yaml +0 -23
  169. package/contracts/high-risk-execution-result.yaml +0 -20
  170. package/contracts/orchestration-state.schema.yaml +0 -41
  171. package/contracts/overflow-continuation.schema.yaml +0 -12
  172. package/contracts/packet.schema.yaml +0 -30
  173. package/contracts/pending-note.schema.yaml +0 -17
  174. package/contracts/prompt.schema.yaml +0 -12
  175. package/contracts/remediation.schema.yaml +0 -16
  176. package/contracts/result.schema.yaml +0 -24
  177. package/contracts/spec-reconstruction-result.yaml +0 -41
  178. package/contracts/sweep-design-result.yaml +0 -349
  179. package/contracts/topic-goal.schema.yaml +0 -87
  180. package/contracts/topic-run-ledger.schema.yaml +0 -72
  181. package/contracts/topic-step-decision.schema.yaml +0 -45
  182. package/contracts/topic.schema.yaml +0 -65
  183. package/contracts/true-close.schema.yaml +0 -15
  184. package/contracts/wave.schema.yaml +0 -29
  185. package/contracts/worker-output.schema.yaml +0 -15
  186. package/contracts/workflow-consumer.schema.yaml +0 -110
  187. package/methodology/audit-sweep-p0p1-recall.yaml +0 -45
  188. package/methodology/authority-convergence-policy.yaml +0 -42
  189. package/methodology/overflow-continuation-policy.yaml +0 -14
  190. package/methodology/skill-exchange-projection.yaml +0 -114
  191. package/methodology/skill-handoff.yaml +0 -34
  192. package/methodology/skill-installer-result.yaml +0 -27
  193. package/methodology/skill-installer-summary-projection.yaml +0 -181
  194. package/methodology/skill-runtime.yaml +0 -23
  195. package/methodology/spec-target-truth-profile.yaml +0 -46
  196. package/methodology/topic-lifecycle-report.yaml +0 -144
  197. package/methodology/topic-lifecycle.yaml +0 -37
  198. package/methodology/topic-naming-ontology.yaml +0 -21
  199. package/methodology/topic-ontology.yaml +0 -38
  200. package/methodology/topic-validation-policy.yaml +0 -9
  201. package/methodology/wave-dag-policy.yaml +0 -14
  202. package/spec/_meta/command-gating-matrix.yaml +0 -143
  203. package/spec/_meta/generate-drift-migration-checklist.yaml +0 -137
  204. package/spec/_meta/governance-routing-cutover-checklist.yaml +0 -35
  205. package/spec/_meta/phase2-impacted-surface-matrix.yaml +0 -44
  206. package/spec/_meta/spec-authority-cutover-readiness.yaml +0 -102
  207. package/spec/bootstrap-state.yaml +0 -99
@@ -1,30 +0,0 @@
1
- id: nimicoding.topic-packet.v1
2
- kind: topic-packet
3
- required:
4
- - packet_id
5
- - topic_id
6
- - wave_id
7
- - packet_kind
8
- - status
9
- - authority_owner
10
- - canonical_seams
11
- - forbidden_shortcuts
12
- - acceptance_invariants
13
- - negative_tests
14
- - reopen_conditions
15
- status_enum:
16
- - draft
17
- - preflight
18
- - candidate
19
- - admitted
20
- - dispatched
21
- - closed
22
- - superseded
23
- freeze_allowed_status_enum:
24
- - draft
25
- - preflight
26
- - candidate
27
- rules:
28
- - packet must not be admitted unless all six design fields are explicit
29
- - packet must name only one primary wave owner domain
30
- - packet must not encode scheduler/runtime transport ownership
@@ -1,17 +0,0 @@
1
- id: nimicoding.pending-note.v1
2
- kind: pending-note
3
- required:
4
- - pending_note_id
5
- - topic_id
6
- - entered_from_state
7
- - reason
8
- - summary
9
- - status
10
- status_enum:
11
- - active
12
- - resumed
13
- - closed
14
- rules:
15
- - pending note must exist before topic enters pending
16
- - pending note must declare explicit reopen criteria or close trigger
17
- - pending note must not coexist with active implementation tracking
@@ -1,12 +0,0 @@
1
- id: nimi-coding.prompt.v1
2
- kind: prompt
3
- required_blocks:
4
- - Task Goal
5
- - Authority Reads
6
- - Confirmed State
7
- - Hard Constraints
8
- - Must Complete
9
- - Explicit Non-Goals
10
- - Required Checks
11
- - Required Final Output Format
12
- - Blocker Escalation Rule
@@ -1,16 +0,0 @@
1
- id: nimicoding.remediation.v1
2
- kind: remediation
3
- required:
4
- - remediation_id
5
- - topic_id
6
- - wave_id
7
- - kind
8
- - reason
9
- kind_enum:
10
- - a
11
- - b
12
- - continuation
13
- - execution_state_closure
14
- rules:
15
- - remediation kind must use a package-owned enum
16
- - continuation remediation must preserve packet lineage to the overflowed scope
@@ -1,24 +0,0 @@
1
- id: nimicoding.topic-result.v1
2
- kind: topic-result
3
- required:
4
- - result_id
5
- - topic_id
6
- - wave_id
7
- - result_kind
8
- - verdict
9
- - verified_at
10
- verified_at_format: iso8601_utc_timestamp
11
- verdict_enum:
12
- - PASS
13
- - NEEDS_REVISION
14
- - FAIL
15
- - OVERFLOW
16
- result_kind_enum:
17
- - preflight
18
- - implementation
19
- - audit
20
- - judgement
21
- rules:
22
- - OVERFLOW is distinct from PASS and FAIL
23
- - audit verdict must not be stronger than attached evidence
24
- - result must not silently reopen a retired wave
@@ -1,41 +0,0 @@
1
- version: 2
2
- result_contract:
3
- id: delegated_spec_reconstruction_result
4
- owner: nimi-coding
5
- summary_required_fields:
6
- - generated_paths
7
- - audit_ref
8
- - placement_report_ref
9
- - coverage_summary
10
- - unresolved_file_count
11
- - inferred_file_count
12
- - status
13
- - summary
14
- - verified_at
15
- summary_status_enum:
16
- - reconstructed
17
- - partial
18
- - blocked
19
- canonical_tree_completion:
20
- profile_ref: .nimi/contracts/surface-taxonomy.schema.yaml
21
- generation_inputs_ref: .nimi/config/spec-generation-inputs.yaml
22
- audit_contract_ref: .nimi/contracts/spec-generation-audit.schema.yaml
23
- audit_ref: .nimi/local/state/spec-generation/spec-generation-audit.yaml
24
- required_tree_state: canonical_tree_ready
25
- required_files_valid: true
26
- completion_requirements:
27
- - canonical_tree_ready
28
- - declared_profile_required_files_valid
29
- - declared_surface_class_constraints_valid
30
- - placement_report_present_and_valid
31
- - spec_generation_audit_present_and_valid_as_local_state
32
- - required_canonical_files_have_matching_audit_entries
33
- - unresolved_gaps_must_remain_explicit
34
- - blocked_must_be_reported_by_the_external_host
35
- - semantic_and_structural_parity_when_blueprint_exists
36
- locality: local_only
37
- semantic_constraints:
38
- - do_not_promote_closeout_summary_to_project_truth
39
- - do_not_promote_generation_audit_to_product_truth
40
- - treat_declared_blueprint_as_benchmark_only_not_canonical_output_root
41
- - completed_reconstruction_means_reconstructed_or_partial_only
@@ -1,349 +0,0 @@
1
- version: 2
2
- result_contract:
3
- id: sweep_design_result
4
- status: active_contract
5
- canonical_entrypoint: "nimicoding sweep design"
6
- owner: nimicoding/sweep-design
7
- artifact_root: ".nimi/local/sweep-design/<run-id>/"
8
- source_inputs:
9
- - ".nimi/local/audit/evidence/<sweep-id>/findings.yaml"
10
- source_findings_policy: read_only_never_update_from_sweep_design
11
- source_input_policy:
12
- - source_audit_findings_are_read_only
13
- - source_findings_sha256_must_be_recorded_at_intake
14
- - design_state_is_written_only_to_sweep_design_derived_artifacts
15
-
16
- canonical_runtime_phases:
17
- - intake
18
- - packet-build
19
- - packet-build-batch
20
- - auditor-prompt
21
- - result-ingest
22
- - ledger-validate
23
- - finalize
24
- - wave-plan
25
-
26
- retired_runtime_phases:
27
- - confirm
28
- - cluster
29
- - fork-review
30
- - plan
31
- - preflight
32
- - synthesize
33
- - decide
34
- - extra-audit
35
-
36
- artifact_kinds:
37
- - name: inventory
38
- kind: sweep-design-inventory
39
- required_fields:
40
- - run_id
41
- - source_audit_sweep_id
42
- - source_findings_ref
43
- - source_findings_sha256
44
- - source_findings_mutation_policy
45
- - findings
46
- - name: design_auditor_packet
47
- kind: sweep-design-design-auditor-packet
48
- required_fields:
49
- - run_id
50
- - packet_id
51
- - source_audit_sweep_id
52
- - included_finding_ids
53
- - source_finding_refs
54
- - related_finding_refs
55
- - related_code_refs
56
- - authority_refs
57
- - prior_design_state_refs
58
- - prior_design_state_marker
59
- - revision_ledger_refs
60
- - current_cluster_refs
61
- - current_wave_refs
62
- - explicit_questions
63
- - expected_result_shape_ref
64
- - evidence_gap_policy
65
- - stop_conditions
66
- - name: design_auditor_result
67
- kind: sweep-design-design-auditor-result
68
- required_fields:
69
- - run_id
70
- - packet_id
71
- - result_id
72
- - auditor
73
- - auditor_family
74
- - auditor_mode
75
- - auditor_result_origin
76
- - methodology_ref
77
- - packet_ref
78
- - session_ref
79
- - transcript_ref
80
- - llm_session_ref
81
- - llm_transcript_ref
82
- - llm_prompt_ref
83
- - result_schema_version
84
- - provenance
85
- - evidence_read
86
- - finding_outcomes
87
- - cluster_changes
88
- - wave_changes
89
- - revision_entries
90
- - human_decision_requests
91
- - extra_audit_requests
92
- - validation_recommendations
93
- - closeout_recommendations
94
- - rejection_status
95
- - name: revision_ledger
96
- kind: sweep-design-revision-ledger
97
- required_fields:
98
- - run_id
99
- - ledger_id
100
- - append_only
101
- - entries
102
- - ledger_snapshot_hash
103
- - entries_root_hash
104
- - previous_ledger_snapshot_hash
105
- - name: revision_entry
106
- kind: sweep-design-revision-entry
107
- required_fields:
108
- - revision_entry_id
109
- - entry_index
110
- - revision_type
111
- - created_at
112
- - previous_entry_hash
113
- - entry_hash
114
- - previous_artifact_refs
115
- - replacement_artifact_refs
116
- - affected_finding_ids
117
- - affected_cluster_ids
118
- - affected_wave_ids
119
- - reason_code
120
- - evidence_refs
121
- - auditor_provenance
122
- - human_gate_status
123
- - projection_refs_changed
124
- - name: decision_queue
125
- kind: sweep-design-decision-queue
126
- - name: auditor_prompt
127
- kind: sweep-design-auditor-prompt
128
- required_fields:
129
- - run_id
130
- - packet_id
131
- - packet_ref
132
- - expected_result_shape_ref
133
- - required_result_origin
134
- - synthetic_result_policy
135
- - required_llm_provenance_fields
136
- - task
137
- - name: batch_manifest
138
- kind: sweep-design-batch-manifest
139
- required_fields:
140
- - run_id
141
- - manifest_id
142
- - source_inventory_ref
143
- - source_findings_ref
144
- - source_findings_sha256
145
- - batch_size
146
- - packet_count
147
- - packets
148
- - generated_artifact_policy
149
- - name: final_state_report
150
- kind: sweep-design-final-state-report
151
- - name: wave_plan
152
- kind: sweep-design-wave-plan
153
-
154
- prior_design_state_marker_enum:
155
- - empty
156
- - present
157
- - partial
158
- - superseded_by_later_audit
159
- - evidence_gap
160
-
161
- auditor_family_enum:
162
- - anthropic_claude
163
- - openai_gpt
164
- - openai_codex
165
- - google_gemini
166
- - xai_grok
167
- - meta_llama
168
- - mistral
169
- - other
170
-
171
- auditor_mode_enum:
172
- - focused
173
- - all
174
- - degraded
175
-
176
- auditor_result_origin_enum:
177
- - llm_session
178
- - external_llm_session
179
- - synthetic_trial
180
- llm_closeout_policy:
181
- closeout_eligible_origins:
182
- - llm_session
183
- - external_llm_session
184
- synthetic_trial_policy: allowed_only_with_explicit_flag_for_load_tests
185
- synthetic_trial_must_not_satisfy_true_llm_closeout: true
186
- llm_origins_require_fields:
187
- - llm_session_ref
188
- - llm_transcript_ref
189
- - llm_prompt_ref
190
-
191
- revision_type_enum:
192
- - finding_state_revision
193
- - duplicate_judgement
194
- - superseded_judgement
195
- - cluster_create
196
- - cluster_merge
197
- - cluster_split
198
- - cluster_retire
199
- - cluster_reopen
200
- - finding_move
201
- - wave_create
202
- - wave_merge
203
- - wave_split
204
- - wave_retract
205
- - wave_demote
206
- - wave_block
207
- - wave_implementation_ready
208
- - wave_dependency_rewrite
209
- - wave_validation_or_closeout_strengthening
210
- - decision_packet_create
211
- - extra_audit_request_create
212
- - extra_audit_request_close
213
- - human_decision_request_create
214
- - human_decision_request_resolve
215
- - final_state_projection_update
216
- - user_decision_queue_rewrite
217
-
218
- finding_lifecycle_states:
219
- - raw
220
- - confirmed
221
- - needs_design
222
- - duplicate
223
- - superseded
224
- - false_positive
225
- - needs_more_audit
226
- - needs_user_decision
227
- - needs_authority_alignment
228
- - ready_for_implementation_wave
229
- - blocked
230
- transient_states:
231
- - raw
232
- - confirmed
233
- - needs_design
234
- final_outcome_states:
235
- - duplicate
236
- - superseded
237
- - false_positive
238
- - needs_more_audit
239
- - needs_user_decision
240
- - needs_authority_alignment
241
- - ready_for_implementation_wave
242
- - blocked
243
-
244
- packet_input_floor:
245
- source_finding_refs_min: 1
246
- related_code_refs_min_unless:
247
- authority_only_packet: 1
248
- authority_refs_min_when:
249
- authority_bearing_finding: 1
250
- related_finding_refs_min_when_available: 3
251
- prior_design_state_marker_required: true
252
- prior_design_state_refs_empty_allowed_only_when_marker_empty: true
253
- evidence_gap_result_required_when_any_material_input_missing: true
254
-
255
- required_final_outcome_provenance:
256
- applies_to:
257
- - ready_for_implementation_wave
258
- - needs_user_decision
259
- - needs_more_audit
260
- - needs_authority_alignment
261
- - blocked
262
- - duplicate
263
- - superseded
264
- - false_positive
265
- required_refs:
266
- - design_auditor_packet_ref
267
- - design_auditor_result_ref
268
- - revision_ledger_entry_refs
269
- - related_finding_ids_considered
270
- - code_refs_considered
271
- - authority_refs_considered
272
- terminal_extra_requirements:
273
- duplicate:
274
- - canonical_finding_or_cluster_ref
275
- superseded:
276
- - superseding_finding_or_cluster_ref
277
- false_positive:
278
- - human_gate_ref
279
- non_terminal_extra_requirements:
280
- ready_for_implementation_wave:
281
- - wave_id_ref
282
- - preflight_ref
283
- - validation_command_refs
284
- - closeout_criteria_ref
285
- needs_user_decision:
286
- - decision_queue_item_ref
287
- - decision_packet_ref
288
- - recommended_decision
289
- - queue_status
290
- - blocked_downstream_wave_refs
291
- needs_more_audit:
292
- - extra_audit_request_ref
293
- needs_authority_alignment:
294
- - authority_convergence_ref
295
- blocked:
296
- - blocking_cause_refs
297
- decision_outcome_policy:
298
- accepted_or_closed_needs_user_decision_requires_human_gate_decision_ref: true
299
-
300
- required_wave_fields:
301
- - wave_id
302
- - scope
303
- - owner_domain
304
- - authority_owner
305
- - dependencies
306
- - preflight_ref
307
- - non_goals
308
- - validation_commands
309
- - negative_checks
310
- - drift_resistance_checks
311
- - closeout_criteria
312
- - source_design_packet_refs
313
- - design_auditor_result_refs
314
- - revision_ledger_entry_refs
315
- - blocked_gate_refs
316
- - merged_cluster_ids
317
- - merged_root_cause_keys
318
- conditional_wave_fields:
319
- consolidation_rationale_required_when: included_findings_or_clusters_count > 1
320
- isolation_justification_required_when: included_findings_or_clusters_count == 1
321
- not_applicable_value_allowed: "n/a"
322
- wave_authority_coverage:
323
- authority_owner_must_cover_source_authority_refs: true
324
- source_authority_ref_sources:
325
- - authority_owner
326
- - authority_refs
327
- - authority_refs_considered
328
- - path_like_merged_root_cause_keys
329
- generated_fix_topic_packets_must_copy_union_to:
330
- - authority_owner
331
- - canonical_seams
332
-
333
- semantic_constraints:
334
- - llm_auditor_judgement_is_required_for_material_findings
335
- - deterministic_grouping_must_not_be_final_judgement
336
- - projection_write_requires_same_ingest_revision_entry
337
- - revision_ledger_is_append_only_and_hash_chained
338
- - every_final_outcome_requires_packet_result_and_ledger_provenance
339
- - raw_confirmed_and_needs_design_are_transient_only
340
- - implementation_ready_wave_requires_non_empty_validation_commands
341
- - source_findings_mutation_is_forbidden
342
-
343
- forbidden_contract_shortcuts:
344
- - mechanical_classifier_as_final_judgement
345
- - projection_write_without_revision_entry
346
- - final_outcome_without_llm_packet_result_refs
347
- - implementation_ready_wave_with_empty_validation_commands
348
- - one_finding_per_wave_default_without_isolation_justification
349
- - source_findings_mutation
@@ -1,87 +0,0 @@
1
- id: nimicoding.topic-goal.v1
2
- kind: topic-goal-readiness-result
3
- canonical_owner: .nimi/contracts/topic-goal.schema.yaml
4
- host_projection_ref: .nimi/contracts/topic-goal.schema.yaml
5
- projection_rule: host projection must be byte-aligned with this package contract
6
- output_contract:
7
- required:
8
- - ok
9
- - topic_id
10
- - topic_ref
11
- - topic_state
12
- - true_close_status
13
- - profile
14
- - selected_next_target
15
- - selected_wave_id
16
- - execution_start_wave_id
17
- - topic_state_hash
18
- - readiness
19
- - goal_command
20
- - source_artifacts
21
- - validation_commands
22
- - human_gates
23
- - refusal_reasons
24
- nullable:
25
- - selected_wave_id
26
- - execution_start_wave_id
27
- - goal_command
28
- readiness_check_shape:
29
- required:
30
- - id
31
- - status
32
- - severity
33
- - message
34
- status_enum:
35
- - pass
36
- - fail
37
- severity_enum:
38
- - info
39
- - blocking
40
- validation_command_shape:
41
- required:
42
- - command
43
- - cwd
44
- - profile
45
- - scope
46
- - required
47
- - expected_exit_code
48
- refusal_reason_enum:
49
- - topic_validate_failed
50
- - topic_graph_validate_failed
51
- - topic_not_ongoing
52
- - true_close_not_started_required
53
- - strict_policy_ignored
54
- - parallel_truth_not_forbidden
55
- - unknown_profile
56
- - selected_target_not_wave
57
- - selected_wave_mismatch
58
- - wave_override_forbidden
59
- - selected_wave_not_executable
60
- - dependency_not_terminal
61
- - missing_primary_closure_goal
62
- - forbidden_shortcuts_incomplete
63
- - forbidden_shortcuts_catalog_drift
64
- - required_artifact_missing
65
- - unresolved_placeholder
66
- - stop_line_missing
67
- - human_gates_missing
68
- - validation_commands_missing
69
- - closeout_criteria_missing
70
- - authority_owner_missing
71
- - work_type_missing
72
- - authority_alignment_missing
73
- - host_projection_drift
74
- - goal_too_large
75
- rules:
76
- - slash output is emitted only when ok=true
77
- - json output is emitted for ready and refused cases
78
- - goal_command must be null whenever ok=false
79
- - topic-goal output is a projection and must not mutate topic state
80
- - host projection drift is a readiness refusal when the host projection exists
81
- - topic goal is the bridge from accepted topic design into Codex /goal execution ownership
82
- - topic goal targets topic completion, not selected-wave completion
83
- - selected_wave_id and execution_start_wave_id are execution cursors only
84
- - ordinary wave admission, preflight, implementation, validation, result recording, and closeout transitions are non-final
85
- - /goal may complete only after all waves are terminal and topic true-close/closeout evidence is recorded
86
- - preflight_admitted is an execution-stage wave state for topic goal because wave preflight is part of execution, not a separate human design phase
87
- - candidate and preflight_draft wave states may be deterministic topic-runner cursors when selected_next_target is empty and dependencies are terminal
@@ -1,72 +0,0 @@
1
- id: nimicoding.topic-run-ledger.v1
2
- kind: topic-run-ledger
3
- ledger_required:
4
- - ledger_id
5
- - topic_id
6
- - run_id
7
- - kind
8
- - run_status
9
- - event_count
10
- - event_refs
11
- - latest_event_ref
12
- - current_wave_id
13
- - latest_decision_ref
14
- - latest_packet_ref
15
- - latest_prompt_ref
16
- - latest_result_ref
17
- - latest_closeout_ref
18
- - current_human_gate
19
- - retry_posture
20
- - updated_at
21
- event_required:
22
- - event_id
23
- - topic_id
24
- - run_id
25
- - event_index
26
- - event_kind
27
- - stop_class
28
- - recommended_action
29
- - source_ref
30
- - summary
31
- - recorded_at
32
- - artifact_refs
33
- event_kind_enum:
34
- - decision_emitted
35
- - wave_admitted
36
- - packet_frozen
37
- - worker_dispatched
38
- - audit_dispatched
39
- - result_recorded
40
- - human_gate_opened
41
- - human_gate_resolved
42
- - wave_closed
43
- - topic_closed
44
- - runner_blocked
45
- run_status_enum:
46
- - running
47
- - awaiting_human_confirmation
48
- - awaiting_external_evidence
49
- - blocked
50
- - completed
51
- artifact_ref_keys:
52
- - decision_ref
53
- - packet_ref
54
- - prompt_ref
55
- - worker_output_ref
56
- - audit_output_ref
57
- - result_ref
58
- - closeout_ref
59
- - evidence_ref
60
- retry_posture_enum:
61
- - not_applicable
62
- - retry_allowed_same_command
63
- - retry_requires_new_packet
64
- - retry_forbidden_until_human_gate
65
- rules:
66
- - run events are append-only topic artifacts
67
- - the ledger is a rebuildable projection from run events
68
- - event stop_class and recommended_action must use the topic-step-decision contract enums
69
- - continue events may record mechanically executed wave admission, packet freeze, and dispatch lineage without opening a human gate
70
- - require_human_confirmation opens current_human_gate unless resolved by a later human_gate_resolved event
71
- - completed must not imply semantic promotion or true-close
72
- - no event may encode transport secrets or host resume tokens
@@ -1,45 +0,0 @@
1
- id: nimicoding.topic-step-decision.v1
2
- kind: topic-step-decision
3
- required:
4
- - decision_id
5
- - topic_id
6
- - wave_id
7
- - decision_kind
8
- - stop_class
9
- - recommended_action
10
- - reason_code
11
- - requires_human_confirmation
12
- - recommended_decision
13
- - recommendation_rationale
14
- - expected_artifacts
15
- - next_command_ref
16
- stop_class_enum:
17
- - continue
18
- - require_human_confirmation
19
- - await_external_evidence
20
- - blocked
21
- - completed
22
- recommended_action_enum:
23
- - admit_wave
24
- - freeze_packet
25
- - dispatch_worker
26
- - dispatch_audit
27
- - record_result
28
- - open_remediation
29
- - continue_overflow
30
- - hold_topic
31
- - resume_topic
32
- - closeout_wave
33
- - closeout_topic
34
- - no_action
35
- rules:
36
- - continue must carry a concrete placeholder-free next_command_ref for a mechanically executable package-owned command
37
- - continue may represent a lifecycle transition when the selected target and command inputs are uniquely determined
38
- - require_human_confirmation must carry a recommended_decision and recommendation_rationale
39
- - require_human_confirmation is reserved for manager judgement, branch selection, ambiguous input, overflow continuation, or other non-mechanical gates
40
- - phase transitions must use continue when selected target and command inputs are uniquely determined, including lineage-backed wave closeout and dependency-ready next-wave admission
41
- - post-spec-update review is the exception to mechanical phase transition continuation; after a spec/authority/redesign implementation PASS, run-next-step must use require_human_confirmation with reason_code=spec_update_review_required until a fresh judgement PASS is recorded
42
- - await_external_evidence must be used when worker, audit, or result evidence is not yet available
43
- - blocked must carry blocking_checks or a reason_code that names the failed gate
44
- - completed must not imply semantic promotion or true-close
45
- - decision output must not mutate topic state