@event4u/agent-config 8.11.0 → 8.13.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/AGENTS.md +1 -0
- package/CHANGELOG.md +64 -266
- package/README.md +2 -2
- package/dist/agent-src/commands/pr/create.md +26 -0
- package/dist/agent-src/commands/team/adversarial.md +96 -0
- package/dist/agent-src/commands/team/delegate.md +109 -0
- package/dist/agent-src/commands/team/review.md +84 -0
- package/dist/agent-src/commands/team/status.md +92 -0
- package/dist/agent-src/commands/team.md +147 -0
- package/dist/agent-src/contexts/execution/roadmap-ci-steps-mechanics.md +117 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +106 -94
- package/dist/agent-src/rules/architecture.md +6 -51
- package/dist/agent-src/rules/code-comment-discipline.md +10 -94
- package/dist/agent-src/rules/decision-revisit-gate.md +9 -77
- package/dist/agent-src/rules/improve-before-implement.md +8 -65
- package/dist/agent-src/rules/no-roadmap-references.md +13 -77
- package/dist/agent-src/rules/persona-governance.md +5 -47
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +6 -32
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +21 -104
- package/dist/agent-src/rules/untrusted-input-defense.md +3 -75
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +83 -0
- package/dist/agent-src/skills/decision-review/SKILL.md +86 -0
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +58 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/contexts/knowledge-card.md +12 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +159 -21
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +11 -6
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +10 -5
- package/dist/install/install.mjs +38 -0
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/router.json +1 -1
- package/dist/server/schemas/settings.js +7 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +31 -3
- package/docs/architecture.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.12.0.md +304 -0
- package/docs/benchmark.md +39 -0
- package/docs/catalog.md +10 -4
- package/docs/command-flows.md +6 -1
- package/docs/contracts/ai-council-config.md +9 -4
- package/docs/contracts/ai-team-config.md +191 -0
- package/docs/contracts/command-clusters.md +1 -0
- package/docs/contracts/persona-schema.md +49 -0
- package/docs/contracts/provider-lifecycle.md +29 -4
- package/docs/decisions/ADR-120-council-chairman-mode.md +70 -0
- package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +90 -0
- package/docs/decisions/INDEX.md +2 -0
- package/docs/design/council-vs-solo-baseline.md +92 -0
- package/docs/design/utilization-window-criteria.md +51 -0
- package/docs/featured-skills.md +1 -1
- package/docs/getting-started-by-role.md +3 -1
- package/docs/getting-started.md +31 -1
- package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +68 -0
- package/docs/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
- package/docs/guidelines/agent-infra/untrusted-input-spotlighting.md +80 -3
- package/docs/guidelines/code-clarity.md +86 -1
- package/docs/maintainers/branch-protection.md +105 -0
- package/docs/maintainers/system-map.md +85 -0
- package/docs/proof.md +15 -4
- package/package.json +1 -1
- package/src/config/agent-settings.template.yml +49 -0
- package/src/scripts/_cli/cmd_doctor.ts +291 -1
- package/src/scripts/_lib/claude_plugin.ts +39 -4
- package/src/scripts/_lib/knowledge_global.ts +44 -0
- package/src/scripts/_lib/knowledge_global_promote.ts +150 -0
- package/src/scripts/ai_council/orchestrator.ts +188 -1
- package/src/scripts/ai_team/config.ts +162 -0
- package/src/scripts/bench_persona_placebo.ts +308 -0
- package/src/scripts/bench_quality_rerun.ts +357 -0
- package/src/scripts/build_proof.ts +9 -0
- package/src/scripts/check_artefact_count_messaging.ts +56 -0
- package/src/scripts/check_knowledge_cards.ts +33 -4
- package/src/scripts/check_portability.ts +1 -0
- package/src/scripts/complexity_report.ts +776 -0
- package/src/scripts/consumer_matrix.ts +251 -12
- package/src/scripts/council_cli.ts +56 -1
- package/src/scripts/explain_run.ts +593 -0
- package/src/scripts/install.ts +39 -0
- package/src/scripts/knowledge_global_cli.ts +234 -45
- package/src/scripts/rule_backlinks.ts +350 -0
- package/src/server/schemas/settings.ts +17 -0
|
@@ -270,6 +270,89 @@ mv agents/tmp/<filename> agents/tmp.old/<filename>
|
|
|
270
270
|
|
|
271
271
|
See `docs/contracts/agents-layout.md § User Inbox Workflow`.
|
|
272
272
|
|
|
273
|
+
## Transient-reference discipline — mechanics (migrated from the `no-roadmap-references` rule)
|
|
274
|
+
|
|
275
|
+
Body of [`no-roadmap-references`](../../rules/no-roadmap-references.md)
|
|
276
|
+
(per P4 of `road-to-kernel-and-router.md`). The Iron Law — never link a
|
|
277
|
+
specific `agents/roadmaps/` or `agents/runtime/council/` file from a stable
|
|
278
|
+
artifact — stays in the rule; the pattern catalog lives here.
|
|
279
|
+
|
|
280
|
+
### Forbidden patterns
|
|
281
|
+
|
|
282
|
+
These paths must not appear inside a stable artifact:
|
|
283
|
+
|
|
284
|
+
- `agents/roadmaps/<file>.md`, `agents/roadmaps/archive/<file>.md`,
|
|
285
|
+
`agents/roadmaps/skipped/<file>.md`
|
|
286
|
+
- `agents/runtime/council/questions/<file>.md`,
|
|
287
|
+
`agents/runtime/council/responses/<file>.json`,
|
|
288
|
+
`agents/runtime/council/sessions/<file>.json` or `<timestamp>/...`
|
|
289
|
+
|
|
290
|
+
Stable artifact = any file under `src/{rules,skills,domains}/`,
|
|
291
|
+
`src/agent-src/{contexts,templates,personas}/`, `agents/settings/contexts/`,
|
|
292
|
+
`docs/guidelines/`, `docs/contracts/`, `docs/architecture.md`,
|
|
293
|
+
`docs/customization.md`, `docs/getting-started.md`, `docs/catalog.md`,
|
|
294
|
+
`AGENTS.md`, `README.md`, `copilot-instructions.md`.
|
|
295
|
+
|
|
296
|
+
CI enforcement: `scripts/check_no_roadmap_refs.ts` (roadmap layer)
|
|
297
|
+
and `scripts/check_council_references.ts` (council layer) — both
|
|
298
|
+
fail the build on any new violation.
|
|
299
|
+
|
|
300
|
+
### Allowed patterns
|
|
301
|
+
|
|
302
|
+
- `agents/roadmaps/` and `agents/runtime/council/` subdirs as **directory**
|
|
303
|
+
mentions (talking about the layer, not a specific file)
|
|
304
|
+
- Roadmap → roadmap references (siblings within the transient layer)
|
|
305
|
+
- The `ai-council` skill and `/council:*` commands documenting the
|
|
306
|
+
output path schema
|
|
307
|
+
- Inline council convergence summary — e.g. *"Council
|
|
308
|
+
(claude-sonnet-4-5 + gpt-4o, 2026-05-06) converged on …"* with
|
|
309
|
+
date + members, no filepath
|
|
310
|
+
- Council sessions, `agents/runtime/.agent-chat-history`, commit messages, PR
|
|
311
|
+
descriptions — transient by construction, not part of the package
|
|
312
|
+
surface
|
|
313
|
+
|
|
314
|
+
### Structural carve-outs (immutable inputs / decision provenance)
|
|
315
|
+
|
|
316
|
+
Two source/target shapes are exempt from the council-link ban
|
|
317
|
+
because the target is **immutable input** or **decision provenance**,
|
|
318
|
+
not transient drafting state. The linter implements these directly
|
|
319
|
+
(`STRUCTURAL_CARVEOUTS` in `scripts/check_council_references.ts`);
|
|
320
|
+
they do **not** need an inline `<!-- council-ref-allowed: ... -->`
|
|
321
|
+
pragma.
|
|
322
|
+
|
|
323
|
+
| Source | Target | Why |
|
|
324
|
+
| --- | --- | --- |
|
|
325
|
+
| `agents/settings/contexts/evaluation-*.md` | `agents/runtime/council/questions/<question>.md` | Question file is a frozen function-parameter / spend-gate input, not documentation. |
|
|
326
|
+
| `docs/contracts/*.md` | `agents/runtime/council/sessions/<ts>/synthesis.md` | Synthesis is the audit-trail receipt; contract inlines the decision body itself. |
|
|
327
|
+
|
|
328
|
+
Driven by the 2026-05-14 P3.4 council round (claude-sonnet-4-5 +
|
|
329
|
+
gpt-4o, converged on rule refactor over escape-hatch overuse). Any
|
|
330
|
+
other source/target combination still needs an inline pragma or
|
|
331
|
+
inline-summary rewrite.
|
|
332
|
+
|
|
333
|
+
### What to do instead
|
|
334
|
+
|
|
335
|
+
When a stable artifact needs to cite a transient finding:
|
|
336
|
+
|
|
337
|
+
1. Identify the durable conclusion — decision, contract, lesson,
|
|
338
|
+
mechanic.
|
|
339
|
+
2. Promote it to a context file under `agents/settings/contexts/` (ADR,
|
|
340
|
+
mechanics doc, locked decision). The roadmap or council session
|
|
341
|
+
can then point at the context, not the other way around.
|
|
342
|
+
3. Reference the context from the stable artifact.
|
|
343
|
+
4. For council convergences specifically: inline a convergence-summary
|
|
344
|
+
block (members, date, cost if relevant — see
|
|
345
|
+
[`ai-council`](../ai-council/SKILL.md) § Output format) instead of
|
|
346
|
+
linking the session JSON.
|
|
347
|
+
|
|
348
|
+
Failure modes:
|
|
349
|
+
|
|
350
|
+
- *"I'll just link to the roadmap, it's evidence."* The roadmap
|
|
351
|
+
gets archived, then deleted, then the link rots. **Promote first,
|
|
352
|
+
link second.**
|
|
353
|
+
- *"I'll just link to the session JSON, it's evidence."* The session
|
|
354
|
+
is gone in 7 days. **Inline first, link never.**
|
|
355
|
+
|
|
273
356
|
## Do NOT
|
|
274
357
|
|
|
275
358
|
- Do NOT create docs unless there's a real need (new module, significant change).
|
|
@@ -173,8 +173,94 @@ strengthening evidence.
|
|
|
173
173
|
`skipped` (stale — age > `review_after_days`), surface them to
|
|
174
174
|
the user; do not silently use stale entries as if they were current.
|
|
175
175
|
|
|
176
|
+
## Decision-revisit gate — mechanics (migrated from the `decision-revisit-gate` rule)
|
|
177
|
+
|
|
178
|
+
Body of [`decision-revisit-gate`](../../rules/decision-revisit-gate.md)
|
|
179
|
+
(per P4 of `road-to-kernel-and-router.md`). The Iron Law — benefit blocked
|
|
180
|
+
by a lock → surface + offer re-evaluation, never silent compliance — stays
|
|
181
|
+
in the rule; the lock catalog, fire steps, and failure modes live here.
|
|
182
|
+
|
|
183
|
+
### What counts as a "lock"
|
|
184
|
+
|
|
185
|
+
- An eval verdict recorded as an honest null (a mechanism was tested,
|
|
186
|
+
showed no lift, and the disposition says "don't rebuild without new
|
|
187
|
+
evidence").
|
|
188
|
+
- A memory entry or `agents/settings/contexts/` note tagged "don't
|
|
189
|
+
relitigate" / "settled" / a locked council convergence.
|
|
190
|
+
- A budget or frugality-canon line (`token-budget-discipline`,
|
|
191
|
+
`telegraph-speak`, thin-projector trimming) that rejects a change on
|
|
192
|
+
cost grounds alone.
|
|
193
|
+
- An ADR whose decision is being cited as a blocker for the current change.
|
|
194
|
+
- A **hard structural cap** (kernel size, per-domain persona cap, rich-skill
|
|
195
|
+
ratio). A change that genuinely *qualifies* to cross the cap — e.g. a new
|
|
196
|
+
rule that truly meets the kernel-membership inclusion criteria — triggers a
|
|
197
|
+
**cap-raise proposal + maintainer/council approval**, never a silent
|
|
198
|
+
downgrade of the rule to fit the old number (e.g. demoting a must-always-fire
|
|
199
|
+
rule to `auto` just because the kernel says 9). Fitting the cap is not a
|
|
200
|
+
reason to weaken a qualifying rule; but a rule that does **not** meet the
|
|
201
|
+
criteria stays out — the cap is not the reason, the criteria are.
|
|
202
|
+
|
|
203
|
+
### What to do when it fires
|
|
204
|
+
|
|
205
|
+
1. **Mechanism-match check — do this FIRST.** A verdict settles the
|
|
206
|
+
*mechanism it tested*, not every future proposal that resembles it.
|
|
207
|
+
Before applying the lock, verify the blocked change is actually the
|
|
208
|
+
same mechanism — not merely a similar-sounding one. A null on
|
|
209
|
+
hardened blocking enforcement does not automatically cover
|
|
210
|
+
discretionary contextual nudges; a null on one architecture does not
|
|
211
|
+
cover a materially different one. If the mechanism differs, the lock
|
|
212
|
+
does not apply — proceed, noting the distinction.
|
|
213
|
+
2. **If the mechanism genuinely matches**, do not silently comply.
|
|
214
|
+
Surface, in one short block:
|
|
215
|
+
- What change is blocked.
|
|
216
|
+
- Which lock blocks it (cite the memory/context/ADR).
|
|
217
|
+
- Under what conditions the lock was recorded (date, evidence, or
|
|
218
|
+
"maintainer decision" if settled-by-decision rather than
|
|
219
|
+
settled-by-evidence).
|
|
220
|
+
- What has changed since (new evidence, new model generation, new
|
|
221
|
+
tooling, repeated encounters) that makes revisiting worth the cost.
|
|
222
|
+
3. **Offer numbered options** (per [`user-interaction`](../../rules/user-interaction.md)),
|
|
223
|
+
always including: re-evaluate the lock in the AI council. Other
|
|
224
|
+
options: keep the lock as-is, or proceed without the blocked change.
|
|
225
|
+
4. **On re-evaluation:** run this skill's Procedure above for the
|
|
226
|
+
backward audit and route to [`ai-council`](../ai-council/SKILL.md)
|
|
227
|
+
for the debate mechanics. The rule owns the obligation to surface;
|
|
228
|
+
this skill and the council own the procedure.
|
|
229
|
+
5. **Record the outcome** with scope + `revisit-if` per
|
|
230
|
+
[`ai-council`](../ai-council/SKILL.md)'s convergence-summary
|
|
231
|
+
contract — every re-evaluated lock gets a fresh, correctly-scoped
|
|
232
|
+
disposition, not a re-statement of the old one.
|
|
233
|
+
|
|
234
|
+
### When NOT to fire
|
|
235
|
+
|
|
236
|
+
- The blocked change has no real benefit — the gate is not a lever to
|
|
237
|
+
reopen every settled question; [`no-cheap-questions`](../../rules/no-cheap-questions.md)
|
|
238
|
+
still governs whether the resulting numbered-options block is a real
|
|
239
|
+
question or noise. A revisit-offer with a genuine trade-off is never
|
|
240
|
+
a "cheap question" under that rule — but a revisit-offer with no
|
|
241
|
+
actual case for change is.
|
|
242
|
+
- The mechanism-match check (step 1) shows the lock is the same
|
|
243
|
+
mechanism and no new evidence exists — apply the lock, no surfacing
|
|
244
|
+
needed; this is the lock working as intended.
|
|
245
|
+
- The user already declined a revisit on this exact lock this
|
|
246
|
+
conversation — per [`scope-control § Decline = silence`](../../rules/scope-control.md),
|
|
247
|
+
do not re-ask.
|
|
248
|
+
|
|
249
|
+
### Failure modes
|
|
250
|
+
|
|
251
|
+
- Treating a "don't relitigate" memory as permanently closed instead of
|
|
252
|
+
as settled-under-conditions-X.
|
|
253
|
+
- Applying a null verdict to a superficially similar but architecturally
|
|
254
|
+
different mechanism without running the mechanism-match check.
|
|
255
|
+
- Letting the token-frugality canon auto-reject a net-positive change
|
|
256
|
+
without surfacing the trade-off — see [`token-budget-discipline`](../../rules/token-budget-discipline.md)'s
|
|
257
|
+
value-over-budget clause.
|
|
258
|
+
- Silently dropping a good idea because "we already decided this" —
|
|
259
|
+
the canonical failure the gate exists to stop.
|
|
260
|
+
|
|
176
261
|
## See also
|
|
177
262
|
|
|
263
|
+
- [`decision-revisit-gate`](../../rules/decision-revisit-gate.md) — the rule whose migrated mechanics live above.
|
|
178
264
|
- [`decision-record`](../decision-record/SKILL.md) — forward flow: lock a new choice.
|
|
179
265
|
- [`adr-create`](../adr-create/SKILL.md) — file the ADR after a decision is locked.
|
|
180
266
|
- [`blameless-post-mortem`](../blameless-post-mortem/SKILL.md) — incident review; may hand off to decision-review when a prior architectural choice is implicated.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: module-detect-on-the-fly
|
|
4
|
-
description: "Use when editing a
|
|
4
|
+
description: "Use when editing a module-shaped path (`Modules/*`, `packages/*`, `apps/*`) while `modules.enabled` is false — asks once to enable it; also the project/stack + task-runner detection reference."
|
|
5
5
|
domain: process
|
|
6
6
|
workspaces:
|
|
7
7
|
- agent-config-maintainer
|
|
@@ -119,6 +119,63 @@ Confirm both flags via `get_modules_config()` before running detection.
|
|
|
119
119
|
the options block, continue the work and treat the project as flat
|
|
120
120
|
for the rest of the session.
|
|
121
121
|
|
|
122
|
+
## Project & module detection reference
|
|
123
|
+
|
|
124
|
+
_Origin: migrated from `src/rules/architecture.md` per the P4 pattern of `road-to-kernel-and-router.md`. The rule keeps the Iron-Law block, General Principles, and the ADR paragraph; the detection mechanics live here._
|
|
125
|
+
|
|
126
|
+
### Project detection
|
|
127
|
+
|
|
128
|
+
Detect the current project type from the **Git remote URL**, **directory name**, or **project files**:
|
|
129
|
+
|
|
130
|
+
- **PHP** — `composer.json` (framework slot: Laravel via `artisan`, Symfony via `bin/console`, standalone otherwise).
|
|
131
|
+
- **JS / TS** — `package.json` (framework slot: Next.js via `next` dep, Nuxt via `nuxt`, Express / Fastify / NestJS via deps; plain Node otherwise).
|
|
132
|
+
- **Python** — `pyproject.toml` / `requirements.txt` (framework slot: Django via `django`, FastAPI via `fastapi`, Flask via `flask`).
|
|
133
|
+
- **Go** — `go.mod` (framework slot: `gin`, `echo`, `fiber`, stdlib `net/http`).
|
|
134
|
+
- **Ruby** — `Gemfile` (framework slot: Rails via `rails` gem, Sinatra otherwise).
|
|
135
|
+
- **Rust** — `Cargo.toml` (framework slot: `axum`, `actix-web`, `rocket`).
|
|
136
|
+
- Check `AGENTS.md` or `agents/` for project-specific documentation.
|
|
137
|
+
|
|
138
|
+
Tooling lives in a runner file at the project root — detect once and reuse the result:
|
|
139
|
+
`Taskfile.yml` → `task`, `Makefile` → `make`, `package.json` `scripts:` → `npm` / `pnpm` / `yarn`, `pyproject.toml` `[tool.poetry.scripts]` or `[project.scripts]` → `poetry` / `uv`, framework CLIs (`artisan`, `bin/console`, `manage.py`, `bin/rails`) when the matching manifest is present.
|
|
140
|
+
|
|
141
|
+
### Project-specific architecture docs
|
|
142
|
+
|
|
143
|
+
Each project documents its own architecture in `./agents/` and/or `AGENTS.md`.
|
|
144
|
+
**Always read those files** before making structural decisions. Do not rely on
|
|
145
|
+
generic rules for project-specific directory layouts, database conventions, or
|
|
146
|
+
module systems.
|
|
147
|
+
|
|
148
|
+
### Module-level documentation
|
|
149
|
+
|
|
150
|
+
Some projects use a module system (e.g. `app/Modules/` in Laravel, `apps/`/`packages/` in a Turborepo, `src/modules/` in NestJS, `internal/` in Go).
|
|
151
|
+
Module roots and the per-module agent-docs folder are configured via
|
|
152
|
+
`modules.root_paths` and `modules.agent_folder` in `.agent-settings.yml`
|
|
153
|
+
(resolve at runtime via `scripts/_lib/agent_settings.ts::enumerate_modules()`).
|
|
154
|
+
Modules may have their own agent docs under
|
|
155
|
+
`{module_root}/*/{agent_folder}/` (Laravel shape: `app/Modules/*/agents/`) with:
|
|
156
|
+
|
|
157
|
+
- Module descriptions and feature docs
|
|
158
|
+
- Module-specific roadmaps (`agents/roadmaps/`)
|
|
159
|
+
- Module-specific documentation (`Docs/`)
|
|
160
|
+
|
|
161
|
+
When working on a module, **always check for module-level agent docs** first.
|
|
162
|
+
|
|
163
|
+
### Packages
|
|
164
|
+
|
|
165
|
+
Packages (Composer, npm, etc.) may also use `./agents/` in their root
|
|
166
|
+
for package-specific docs and roadmaps. Treat them the same way as projects.
|
|
167
|
+
|
|
168
|
+
### Build / task runner detection
|
|
169
|
+
|
|
170
|
+
Projects use either `Makefile` or `Taskfile.yml` (or both) for common commands.
|
|
171
|
+
**Always check which one exists** and read it to discover available targets for
|
|
172
|
+
testing, quality checks, container access, migrations, etc.
|
|
173
|
+
|
|
174
|
+
- `Makefile` → use `make <target>`
|
|
175
|
+
- `Taskfile.yml` → use `task <target>`
|
|
176
|
+
|
|
177
|
+
Prefer these targets over raw `docker compose exec` commands when available.
|
|
178
|
+
|
|
122
179
|
## See also
|
|
123
180
|
|
|
124
181
|
- `module-management` — the active skill once modules are configured.
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "8.
|
|
42
|
+
agent_config_version: "8.13.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -7,6 +7,18 @@ trust: durable
|
|
|
7
7
|
# Optional for project-local cards; required (plus a provenance footer) once a
|
|
8
8
|
# card is promoted to the global store. Resolve via knowledge_global.classify_tier.
|
|
9
9
|
tier: "<public | vendor | proprietary>"
|
|
10
|
+
# sensitivity — orthogonal to tier: WHETHER this card may ever leave the
|
|
11
|
+
# project at all (tier is WHERE it came from). Phase 1, road-to-feedback-8.11
|
|
12
|
+
# / successor note to ADR-119. Three machine-anchored classes:
|
|
13
|
+
# prohibited = contains redaction-class content; never leaves the repo
|
|
14
|
+
# (machine-derived from the redaction scan — never hand-set).
|
|
15
|
+
# project = DEFAULT. Stays project-local; promotion refused unless a
|
|
16
|
+
# human explicitly reclassifies the card to `shareable`.
|
|
17
|
+
# shareable = eligible for the global store; must pass redaction AND
|
|
18
|
+
# carry full promotion provenance (see the footer once
|
|
19
|
+
# promoted: source_repo, owner, review_after, promotion_reason).
|
|
20
|
+
# Required (and machine-checked) once a card is promoted to the global store.
|
|
21
|
+
sensitivity: "project"
|
|
10
22
|
origin: "<brief description — e.g. npm package / remote API / legacy DB>"
|
|
11
23
|
url: "<canonical upstream URL>"
|
|
12
24
|
ref: "<pinned version tag or commit SHA — never blind main>"
|
|
@@ -2024,7 +2024,7 @@
|
|
|
2024
2024
|
},
|
|
2025
2025
|
{
|
|
2026
2026
|
"category": "command",
|
|
2027
|
-
"checksum": "sha256:
|
|
2027
|
+
"checksum": "sha256:9f1ae0db940f8c5a403f3df582469edf9e2446219f4849185ae4eba5227f993d",
|
|
2028
2028
|
"install": {
|
|
2029
2029
|
"default": true,
|
|
2030
2030
|
"removable": false
|
|
@@ -4352,6 +4352,144 @@
|
|
|
4352
4352
|
"agent-config-maintainer"
|
|
4353
4353
|
]
|
|
4354
4354
|
},
|
|
4355
|
+
{
|
|
4356
|
+
"category": "command",
|
|
4357
|
+
"checksum": "sha256:b472efccd7c1db983883ce44afa9ad883c323b8858d3c203632e6c51c16466d9",
|
|
4358
|
+
"install": {
|
|
4359
|
+
"default": true,
|
|
4360
|
+
"removable": false
|
|
4361
|
+
},
|
|
4362
|
+
"lifecycle": "active",
|
|
4363
|
+
"name": "team-adversarial",
|
|
4364
|
+
"pack": "product-reasoning",
|
|
4365
|
+
"packs": [
|
|
4366
|
+
"product-reasoning"
|
|
4367
|
+
],
|
|
4368
|
+
"path": "src/domains/meta/team/adversarial/command.md",
|
|
4369
|
+
"slug": "team-adversarial",
|
|
4370
|
+
"tier": 2,
|
|
4371
|
+
"trust": {
|
|
4372
|
+
"confidence": "high",
|
|
4373
|
+
"human_review_required": false,
|
|
4374
|
+
"level": "core"
|
|
4375
|
+
},
|
|
4376
|
+
"visibility": "internal",
|
|
4377
|
+
"workspaces": [
|
|
4378
|
+
"agent-config-maintainer"
|
|
4379
|
+
]
|
|
4380
|
+
},
|
|
4381
|
+
{
|
|
4382
|
+
"category": "command",
|
|
4383
|
+
"checksum": "sha256:d0ef6440619190d2126fcd9432c8b2a28acc7bf5abcc7322415374c03d31ea8b",
|
|
4384
|
+
"install": {
|
|
4385
|
+
"default": true,
|
|
4386
|
+
"removable": false
|
|
4387
|
+
},
|
|
4388
|
+
"intent": "Route a cross-model team-mode request (review, adversarial, delegate, status) to the official plugin under ai_team governance",
|
|
4389
|
+
"lifecycle": "active",
|
|
4390
|
+
"name": "team",
|
|
4391
|
+
"pack": "product-reasoning",
|
|
4392
|
+
"packs": [
|
|
4393
|
+
"product-reasoning"
|
|
4394
|
+
],
|
|
4395
|
+
"path": "src/domains/meta/team/command.md",
|
|
4396
|
+
"replaces": [],
|
|
4397
|
+
"routes_to": [
|
|
4398
|
+
"team-review",
|
|
4399
|
+
"team-adversarial",
|
|
4400
|
+
"team-delegate",
|
|
4401
|
+
"team-status"
|
|
4402
|
+
],
|
|
4403
|
+
"slug": "team",
|
|
4404
|
+
"tier": 2,
|
|
4405
|
+
"trust": {
|
|
4406
|
+
"confidence": "high",
|
|
4407
|
+
"human_review_required": false,
|
|
4408
|
+
"level": "core"
|
|
4409
|
+
},
|
|
4410
|
+
"visibility": "internal",
|
|
4411
|
+
"workspaces": [
|
|
4412
|
+
"agent-config-maintainer"
|
|
4413
|
+
]
|
|
4414
|
+
},
|
|
4415
|
+
{
|
|
4416
|
+
"category": "command",
|
|
4417
|
+
"checksum": "sha256:095eaeae4b525edd4d86846335ac590386b4e033ff6282d8671e9528471d324b",
|
|
4418
|
+
"install": {
|
|
4419
|
+
"default": true,
|
|
4420
|
+
"removable": false
|
|
4421
|
+
},
|
|
4422
|
+
"lifecycle": "active",
|
|
4423
|
+
"name": "team-delegate",
|
|
4424
|
+
"pack": "product-reasoning",
|
|
4425
|
+
"packs": [
|
|
4426
|
+
"product-reasoning"
|
|
4427
|
+
],
|
|
4428
|
+
"path": "src/domains/meta/team/delegate/command.md",
|
|
4429
|
+
"slug": "team-delegate",
|
|
4430
|
+
"tier": 2,
|
|
4431
|
+
"trust": {
|
|
4432
|
+
"confidence": "high",
|
|
4433
|
+
"human_review_required": false,
|
|
4434
|
+
"level": "core"
|
|
4435
|
+
},
|
|
4436
|
+
"visibility": "internal",
|
|
4437
|
+
"workspaces": [
|
|
4438
|
+
"agent-config-maintainer"
|
|
4439
|
+
]
|
|
4440
|
+
},
|
|
4441
|
+
{
|
|
4442
|
+
"category": "command",
|
|
4443
|
+
"checksum": "sha256:fef3a8bd83dedb36612c0bf9e906803d9990f30cb3d79a3823e2933bb1621f73",
|
|
4444
|
+
"install": {
|
|
4445
|
+
"default": true,
|
|
4446
|
+
"removable": false
|
|
4447
|
+
},
|
|
4448
|
+
"lifecycle": "active",
|
|
4449
|
+
"name": "team-review",
|
|
4450
|
+
"pack": "product-reasoning",
|
|
4451
|
+
"packs": [
|
|
4452
|
+
"product-reasoning"
|
|
4453
|
+
],
|
|
4454
|
+
"path": "src/domains/meta/team/review/command.md",
|
|
4455
|
+
"slug": "team-review",
|
|
4456
|
+
"tier": 2,
|
|
4457
|
+
"trust": {
|
|
4458
|
+
"confidence": "high",
|
|
4459
|
+
"human_review_required": false,
|
|
4460
|
+
"level": "core"
|
|
4461
|
+
},
|
|
4462
|
+
"visibility": "internal",
|
|
4463
|
+
"workspaces": [
|
|
4464
|
+
"agent-config-maintainer"
|
|
4465
|
+
]
|
|
4466
|
+
},
|
|
4467
|
+
{
|
|
4468
|
+
"category": "command",
|
|
4469
|
+
"checksum": "sha256:98fb734d3ed484b1663e48bd9b417640fbdfc83ba8af6945db7b01e5d84da3fb",
|
|
4470
|
+
"install": {
|
|
4471
|
+
"default": true,
|
|
4472
|
+
"removable": false
|
|
4473
|
+
},
|
|
4474
|
+
"lifecycle": "active",
|
|
4475
|
+
"name": "team-status",
|
|
4476
|
+
"pack": "product-reasoning",
|
|
4477
|
+
"packs": [
|
|
4478
|
+
"product-reasoning"
|
|
4479
|
+
],
|
|
4480
|
+
"path": "src/domains/meta/team/status/command.md",
|
|
4481
|
+
"slug": "team-status",
|
|
4482
|
+
"tier": 2,
|
|
4483
|
+
"trust": {
|
|
4484
|
+
"confidence": "high",
|
|
4485
|
+
"human_review_required": false,
|
|
4486
|
+
"level": "core"
|
|
4487
|
+
},
|
|
4488
|
+
"visibility": "internal",
|
|
4489
|
+
"workspaces": [
|
|
4490
|
+
"agent-config-maintainer"
|
|
4491
|
+
]
|
|
4492
|
+
},
|
|
4355
4493
|
{
|
|
4356
4494
|
"category": "command",
|
|
4357
4495
|
"checksum": "sha256:76d6fe9b4bb7441d9ca243174b805687b81b3db51af5a78305deb775afe42e85",
|
|
@@ -4945,7 +5083,7 @@
|
|
|
4945
5083
|
},
|
|
4946
5084
|
{
|
|
4947
5085
|
"category": "rule",
|
|
4948
|
-
"checksum": "sha256:
|
|
5086
|
+
"checksum": "sha256:93f763246cf4e462db9c4d54fc033ffb9c0ce5865a2e25b6b0381a84308f04ff",
|
|
4949
5087
|
"install": {
|
|
4950
5088
|
"default": true,
|
|
4951
5089
|
"removable": false
|
|
@@ -5177,7 +5315,7 @@
|
|
|
5177
5315
|
},
|
|
5178
5316
|
{
|
|
5179
5317
|
"category": "rule",
|
|
5180
|
-
"checksum": "sha256:
|
|
5318
|
+
"checksum": "sha256:c642c0a5798b5bfed082b9c2e86e4c3f8830e2971d1bba12df59094e060ee6da",
|
|
5181
5319
|
"install": {
|
|
5182
5320
|
"default": true,
|
|
5183
5321
|
"removable": false
|
|
@@ -5382,7 +5520,7 @@
|
|
|
5382
5520
|
},
|
|
5383
5521
|
{
|
|
5384
5522
|
"category": "rule",
|
|
5385
|
-
"checksum": "sha256:
|
|
5523
|
+
"checksum": "sha256:f09f13f41eab26421f29cc731f8b1b737f9f37079c913416ba686bc9d45a8bc2",
|
|
5386
5524
|
"install": {
|
|
5387
5525
|
"default": true,
|
|
5388
5526
|
"removable": false
|
|
@@ -5867,7 +6005,7 @@
|
|
|
5867
6005
|
},
|
|
5868
6006
|
{
|
|
5869
6007
|
"category": "rule",
|
|
5870
|
-
"checksum": "sha256:
|
|
6008
|
+
"checksum": "sha256:51bf5ae688035e892666c069150e72cedd5d1aca8521a48d02efe6a70c2286ee",
|
|
5871
6009
|
"install": {
|
|
5872
6010
|
"default": true,
|
|
5873
6011
|
"removable": false
|
|
@@ -6329,7 +6467,7 @@
|
|
|
6329
6467
|
},
|
|
6330
6468
|
{
|
|
6331
6469
|
"category": "rule",
|
|
6332
|
-
"checksum": "sha256:
|
|
6470
|
+
"checksum": "sha256:b4f586610cd51268c9bdb8360a798642244d9b2d2521bf5100298bbdce1ec3fc",
|
|
6333
6471
|
"install": {
|
|
6334
6472
|
"default": true,
|
|
6335
6473
|
"removable": false
|
|
@@ -6465,7 +6603,7 @@
|
|
|
6465
6603
|
},
|
|
6466
6604
|
{
|
|
6467
6605
|
"category": "rule",
|
|
6468
|
-
"checksum": "sha256:
|
|
6606
|
+
"checksum": "sha256:3878d1b74420f68e2681b636718f60a3a8b3cb224cd5df1b74936d824e74bf6c",
|
|
6469
6607
|
"install": {
|
|
6470
6608
|
"default": true,
|
|
6471
6609
|
"removable": false
|
|
@@ -6549,7 +6687,7 @@
|
|
|
6549
6687
|
},
|
|
6550
6688
|
{
|
|
6551
6689
|
"category": "rule",
|
|
6552
|
-
"checksum": "sha256:
|
|
6690
|
+
"checksum": "sha256:d6e74bc3809c7b9d0a692bafae238c905e16c812fa4ffe884d37dbb419e3f90d",
|
|
6553
6691
|
"install": {
|
|
6554
6692
|
"default": true,
|
|
6555
6693
|
"removable": false
|
|
@@ -6616,7 +6754,7 @@
|
|
|
6616
6754
|
},
|
|
6617
6755
|
{
|
|
6618
6756
|
"category": "rule",
|
|
6619
|
-
"checksum": "sha256:
|
|
6757
|
+
"checksum": "sha256:db20269002f94ba1564050797367485a33264fba95a37cef8dfe23cba460e4d0",
|
|
6620
6758
|
"install": {
|
|
6621
6759
|
"default": true,
|
|
6622
6760
|
"removable": false
|
|
@@ -7174,7 +7312,7 @@
|
|
|
7174
7312
|
},
|
|
7175
7313
|
{
|
|
7176
7314
|
"category": "rule",
|
|
7177
|
-
"checksum": "sha256:
|
|
7315
|
+
"checksum": "sha256:1a7625fcb13e1268adf9cfe417a3b3de13edd1d4a60a9a849345ab7e2120c102",
|
|
7178
7316
|
"install": {
|
|
7179
7317
|
"default": true,
|
|
7180
7318
|
"removable": false
|
|
@@ -7386,7 +7524,7 @@
|
|
|
7386
7524
|
},
|
|
7387
7525
|
{
|
|
7388
7526
|
"category": "skill",
|
|
7389
|
-
"checksum": "sha256:
|
|
7527
|
+
"checksum": "sha256:88c6ff8281b0ee68b5d6d9402bd4b39087f7fb05e5ad92957fd24a63ee0f4032",
|
|
7390
7528
|
"install": {
|
|
7391
7529
|
"default": true,
|
|
7392
7530
|
"removable": false
|
|
@@ -8640,7 +8778,7 @@
|
|
|
8640
8778
|
},
|
|
8641
8779
|
{
|
|
8642
8780
|
"category": "skill",
|
|
8643
|
-
"checksum": "sha256:
|
|
8781
|
+
"checksum": "sha256:21fe1e1cab3bf7e739a0e3dbfe48ec60c0da59caae1c791b7003e1ccb1f6f42e",
|
|
8644
8782
|
"install": {
|
|
8645
8783
|
"default": false,
|
|
8646
8784
|
"removable": true
|
|
@@ -10642,7 +10780,7 @@
|
|
|
10642
10780
|
},
|
|
10643
10781
|
{
|
|
10644
10782
|
"category": "skill",
|
|
10645
|
-
"checksum": "sha256:
|
|
10783
|
+
"checksum": "sha256:da0978b98607af3fb63fee16e5fa45e9b79a62803678518fbedd6aec3165e647",
|
|
10646
10784
|
"install": {
|
|
10647
10785
|
"default": true,
|
|
10648
10786
|
"removable": false
|
|
@@ -13277,7 +13415,7 @@
|
|
|
13277
13415
|
"workspaces": []
|
|
13278
13416
|
}
|
|
13279
13417
|
],
|
|
13280
|
-
"checksum": "sha256:
|
|
13418
|
+
"checksum": "sha256:4d464b4e3eaa81d6d437c9387901b1853cf43b0ba47e32a7d347a9648f1ea769",
|
|
13281
13419
|
"deprecations": [
|
|
13282
13420
|
{
|
|
13283
13421
|
"key": "tier",
|
|
@@ -13420,7 +13558,7 @@
|
|
|
13420
13558
|
"reason": "scaffold template for ticket-bundle tickets (ADR-101); carries no runtime frontmatter — emit-tickets fills it in per ticket"
|
|
13421
13559
|
}
|
|
13422
13560
|
],
|
|
13423
|
-
"generated_at": "2026-07-
|
|
13561
|
+
"generated_at": "2026-07-12T14:25:15Z",
|
|
13424
13562
|
"packs": [
|
|
13425
13563
|
{
|
|
13426
13564
|
"artefact_count": 105,
|
|
@@ -14163,7 +14301,7 @@
|
|
|
14163
14301
|
]
|
|
14164
14302
|
},
|
|
14165
14303
|
{
|
|
14166
|
-
"artefact_count":
|
|
14304
|
+
"artefact_count": 16,
|
|
14167
14305
|
"description": "Interactive reasoning surfaces (council, challenge-me, grill-me) — classified `product` in the flow surface-map.",
|
|
14168
14306
|
"domain": "meta",
|
|
14169
14307
|
"human_review_required": 0,
|
|
@@ -14179,7 +14317,7 @@
|
|
|
14179
14317
|
"trust_level_default": "core",
|
|
14180
14318
|
"trust_summary": {
|
|
14181
14319
|
"advisory": 0,
|
|
14182
|
-
"core":
|
|
14320
|
+
"core": 16,
|
|
14183
14321
|
"experimental": 0,
|
|
14184
14322
|
"professional": 0,
|
|
14185
14323
|
"restricted": 0
|
|
@@ -14192,27 +14330,27 @@
|
|
|
14192
14330
|
"scanner_version": "c24312e116f8",
|
|
14193
14331
|
"stats": {
|
|
14194
14332
|
"by_category": {
|
|
14195
|
-
"command":
|
|
14333
|
+
"command": 183,
|
|
14196
14334
|
"rule": 104,
|
|
14197
14335
|
"skill": 271,
|
|
14198
14336
|
"subagent": 1,
|
|
14199
14337
|
"template": 1
|
|
14200
14338
|
},
|
|
14201
14339
|
"by_lifecycle": {
|
|
14202
|
-
"active":
|
|
14340
|
+
"active": 544,
|
|
14203
14341
|
"archived": 0,
|
|
14204
14342
|
"deprecated": 0,
|
|
14205
14343
|
"experimental": 16
|
|
14206
14344
|
},
|
|
14207
14345
|
"by_trust_level": {
|
|
14208
14346
|
"advisory": 8,
|
|
14209
|
-
"core":
|
|
14347
|
+
"core": 434,
|
|
14210
14348
|
"experimental": 20,
|
|
14211
14349
|
"professional": 98,
|
|
14212
14350
|
"restricted": 0
|
|
14213
14351
|
},
|
|
14214
14352
|
"documented_unassigned_count": 26,
|
|
14215
|
-
"total_artefacts":
|
|
14353
|
+
"total_artefacts": 560,
|
|
14216
14354
|
"unassigned_count": 0
|
|
14217
14355
|
},
|
|
14218
14356
|
"unassigned": [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
dcc729a9420f9603c704a072c529d664ed459c82e951e058ff133b3e34b46b60 discovery-manifest.json
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Discovery Manifest — Summary
|
|
2
2
|
|
|
3
|
-
- Generated: `2026-07-
|
|
3
|
+
- Generated: `2026-07-12T14:25:15Z`
|
|
4
4
|
- Scanner: `c24312e116f8`
|
|
5
|
-
- Artefacts: **
|
|
5
|
+
- Artefacts: **560**
|
|
6
6
|
- Unassigned: **0**
|
|
7
7
|
|
|
8
8
|
## `engineering` — Engineering
|
|
@@ -106,5 +106,5 @@
|
|
|
106
106
|
| `meta` — Meta | 265 |
|
|
107
107
|
| `memory` — Memory | 9 |
|
|
108
108
|
| `analytics` — Analytics | 4 |
|
|
109
|
-
| `product-reasoning` — Product Reasoning |
|
|
109
|
+
| `product-reasoning` — Product Reasoning | 16 |
|
|
110
110
|
|