immune-brain 3.0.2 → 3.2.1

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.
@@ -146,56 +146,65 @@ A repository directive overrides the global directive. Report an invalid value
146
146
  and ask instead of guessing. After resolving it, display one non-blocking line
147
147
  with the selected carrier and its source. A configured `github` default is
148
148
  standing opt-in for GitHub projection, but the literal user must still confirm
149
- the named Initiative and its immutable slug before the first remote mutation.
150
- Surface that name, slug, and the proposed Parent/Child creation together as soon
151
- as decomposition establishes multiple TaskIntents. Recommend one answer so the
152
- user may adopt the complete current decision frontier in bulk. A prior bulk
153
- approval cannot confirm a name or slug that had not yet been shown.
154
- Resolve `../../bin/imm-tracker` from this Skill location; do not assume a bare
155
- command is on `PATH`. After the first TaskIntent has been authored, staged, and
156
- validated with `valid: true` and `enrollment_ready: true`, and both the named
157
- Initiative and its immutable slug are confirmed, attempt the GitHub projection
158
- before returning the final Planner result or invoking Enrollment: call
159
- `imm-tracker create-initiative --stdin --json` once with the confirmed goal,
160
- stable Slice summaries, and the public Parent projection fields. `create-initiative`
161
- receives the stable Initiative goal and Slice summaries plus the
162
- public Parent projection fields `problem`, `result`, `decisions`,
163
- `testing_strategy`, and `out_of_scope`. It creates a result-oriented Parent title
164
- `[<initiative>] <result>` and never rewrites an existing Parent.
165
-
166
- Then call
167
- `imm-tracker upsert-task --initiative-id <slug> --slice-id <id> --intent <path> --projection-json <json> --json`
168
- to create one neutral open Child Issue and attach it to the Parent as a native
169
- Sub-issue. The projection JSON is public planning context only and may contain
170
- `result`, `current_behavior`, `desired_behavior`, `key_interfaces`,
171
- `verification`, `blocked_by` Task IDs, `out_of_scope`, and `agent_handoff`.
172
- The tracker rereads the canonical TaskIntent for identity, risk, and acceptance;
173
- projection fields never widen TaskIntent scope or authority. The Child title is
174
- `[<initiative>/<slice>] <result>` with no `IB:` prefix or Task ID. Its body is an
175
- Agent Brief with Parent, What to build, Current behavior, Desired behavior, Key
176
- interfaces, Acceptance criteria, Verification, Blocked by, Out of scope, Agent
177
- handoff, and Authority boundary sections. Native `blocked_by` relations are
178
- created only for exact marker-owned Task Issues and are idempotently observed.
149
+ the named Initiative, its immutable slug, and the complete Parent/Child
150
+ decomposition before the first remote mutation. A prior bulk approval cannot
151
+ confirm a name, slug, Child, or dependency that had not yet been shown.
152
+
153
+ Once decomposition is complete, present one review table containing the Parent
154
+ result and every Child's stable Slice ID, result, scope boundary, risk, blockers,
155
+ and proposed execution order. Ask one focused question: whether the coverage,
156
+ granularity, and dependencies are correct. Recommend the complete current
157
+ frontier so the user can approve it in one response. Before that approval,
158
+ perform zero GitHub mutations. A partial or progressively disclosed issue set is
159
+ not eligible for publication.
160
+
161
+ After approval, author, stage, and validate every TaskIntent in the decomposition
162
+ with `valid: true` and `enrollment_ready: true`. Resolve `../../bin/imm-tracker` from this Skill location; do not assume a bare command is on `PATH`. Submit the entire approved set once through
163
+ `imm-tracker publish-initiative --stdin --json`. Its input contains the confirmed
164
+ Initiative slug and goal, Parent projection, and every Child's `slice_id`,
165
+ canonical TaskIntent path, and public projection. The Parent projection requires
166
+ `problem`, `result`, and `design`, and may include `decisions`,
167
+ `testing_strategy`, and `out_of_scope`. `design` records Initiative-level
168
+ invariants, Slice boundaries and ordering, shared interfaces or state flow, and
169
+ material compatibility decisions. Every Parent Slice must correspond to one
170
+ published Child; future checklist-only Slices are not allowed in the batch.
171
+
172
+ Each Child projection may contain `result`, `current_behavior`,
173
+ `desired_behavior`, `key_interfaces`, `verification`, `blocked_by` Task IDs,
174
+ `out_of_scope`, and `agent_handoff`. The tracker rereads every canonical
175
+ TaskIntent for identity, risk, and acceptance; projection fields never widen
176
+ TaskIntent scope or authority. It validates the complete dependency graph before
177
+ remote writes, creates the Parent once, creates all Children, attaches every
178
+ Child as a native Sub-issue, creates native `blocked_by` relations, and rereads
179
+ the complete topology. The Child Agent Brief includes a direct Parent Issue link.
179
180
  Internal role prompts, tool policies, review gates, model reservations, and
180
- prompt digests never belong in this external handoff.
181
- If `docs/initiatives/<slug>.md` exists, the tracker fails with a
182
- carrier conflict; Local mode performs zero GitHub operations. A future Slice remains a parent checklist entry until its own TaskIntent is
183
- canonically authored and validated.
181
+ prompt digests never belong in this external handoff. If
182
+ `docs/initiatives/<slug>.md` exists, publication fails with a carrier conflict;
183
+ Local mode performs zero GitHub operations.
184
+
185
+ The batch result includes an execution recommendation: the first unblocked Task,
186
+ a stable dependency order, and parallel groups. For a plan-only request, report
187
+ that recommendation and stop. For a request that includes execution, invoke the
188
+ native Enrollment gate for the recommended first TaskIntent after successful
189
+ publication; do not ask for another chat confirmation. GitHub selection never
190
+ bypasses Enrollment.
184
191
 
185
192
  Tracker output is observation, never authority. Before the Planner returns, its
186
- GitHub carrier outcome must be exactly one of: `tracker_associated` after both
187
- operations return `created`, `updated`, or `already_current`;
188
- `awaiting_user_initiative_confirmation` with the single pending Initiative
189
- name-and-slug decision; or `tracker_projection_failed` with the returned failure
190
- and exact retry action.
191
- A candidate Initiative name or slug recorded only in the Spec or final summary
192
- is neither user confirmation nor a completed carrier outcome. Report `retryable_failure`,
193
- `permanent_failure`, or `ambiguous_remote_state` and the exact retry action, but
194
- do not block planning, Enrollment, execution, QA, Review, settlement, or another
195
- association. Do not infer opt-in from tracker output or Issue state,
196
- auto-close the parent, import Issue state, create a TaskIntent from an Issue, or store Issue identity in TaskIntent or
197
- TaskRecord. Existing Issue markers grant permission only for later one-way
198
- projection updates to that same Initiative; they never grant execution authority.
193
+ GitHub carrier outcome must be exactly one of: `tracker_associated` after the
194
+ complete batch returns `created`, `updated`, or `already_current`;
195
+ `awaiting_user_initiative_confirmation` with the single pending name, slug, and
196
+ complete-decomposition decision; or `tracker_projection_failed` with the returned
197
+ failure and exact retry action. A candidate Initiative or partial Issue set
198
+ recorded only in the Spec or final summary is neither user confirmation nor a
199
+ completed carrier outcome. Report `retryable_failure`, `permanent_failure`, or
200
+ `ambiguous_remote_state` and the exact batch retry action. This does not invalidate
201
+ already-authored planning files, but it blocks `tracker_associated` and every
202
+ Enrollment or execution handoff for that Initiative until the same complete
203
+ batch succeeds. Do not infer opt-in from tracker output or Issue state, auto-close the Parent,
204
+ import Issue state, create a TaskIntent from an Issue, or store Issue identity in
205
+ TaskIntent or TaskRecord. Existing Issue markers grant permission only for
206
+ idempotent retry of that same approved Initiative; they never grant execution
207
+ authority.
199
208
 
200
209
  ### Verification Descriptor Discipline
201
210
 
@@ -47,3 +47,12 @@ skills:
47
47
  output_artifacts: [prune_report]
48
48
  next_actions: []
49
49
  boundary: Prune stale current documentation after explicit manifest approval; no Managed authority mutation or authority-artifact deletion.
50
+ - name: imm-agent-doc-maintain
51
+ path: skills/imm-agent-doc-maintain/SKILL.md
52
+ role: execute
53
+ title: Agent Doc Maintain
54
+ role_class: repair
55
+ canonical: true
56
+ output_artifacts: [maintain_report]
57
+ next_actions: []
58
+ boundary: Minimize tracked agent-instruction context after explicit manifest approval; no Managed authority mutation, contract installation, or reference-document creation.