@event4u/agent-config 1.14.0 → 1.15.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 (106) hide show
  1. package/.agent-src/commands/agent-handoff.md +1 -1
  2. package/.agent-src/commands/bug-fix.md +2 -2
  3. package/.agent-src/commands/chat-history-checkpoint.md +2 -2
  4. package/.agent-src/commands/chat-history-clear.md +1 -1
  5. package/.agent-src/commands/chat-history-resume.md +2 -2
  6. package/.agent-src/commands/chat-history.md +2 -2
  7. package/.agent-src/commands/check-current-md.md +43 -32
  8. package/.agent-src/commands/commit-in-chunks.md +43 -23
  9. package/.agent-src/commands/compress.md +34 -2
  10. package/.agent-src/commands/feature-roadmap.md +2 -2
  11. package/.agent-src/commands/fix-portability.md +2 -2
  12. package/.agent-src/commands/onboard.md +14 -5
  13. package/.agent-src/commands/optimize-augmentignore.md +9 -0
  14. package/.agent-src/commands/refine-ticket.md +9 -7
  15. package/.agent-src/commands/review-changes.md +35 -8
  16. package/.agent-src/commands/roadmap-create.md +13 -2
  17. package/.agent-src/commands/roadmap-execute.md +9 -7
  18. package/.agent-src/commands/set-cost-profile.md +8 -0
  19. package/.agent-src/commands/sync-agent-settings.md +9 -0
  20. package/.agent-src/commands/tests-execute.md +2 -3
  21. package/.agent-src/rules/artifact-engagement-recording.md +1 -1
  22. package/.agent-src/rules/augment-portability.md +56 -37
  23. package/.agent-src/rules/chat-history-cadence.md +109 -0
  24. package/.agent-src/rules/chat-history-ownership.md +123 -0
  25. package/.agent-src/rules/chat-history-visibility.md +96 -0
  26. package/.agent-src/rules/cli-output-handling.md +1 -1
  27. package/.agent-src/rules/command-suggestion.md +3 -2
  28. package/.agent-src/rules/commit-policy.md +44 -34
  29. package/.agent-src/rules/direct-answers.md +1 -1
  30. package/.agent-src/rules/language-and-tone.md +19 -15
  31. package/.agent-src/rules/non-destructive-by-default.md +18 -18
  32. package/.agent-src/rules/roadmap-progress-sync.md +133 -74
  33. package/.agent-src/rules/role-mode-adherence.md +1 -1
  34. package/.agent-src/rules/size-enforcement.md +2 -1
  35. package/.agent-src/rules/user-interaction.md +28 -4
  36. package/.agent-src/scripts/update_roadmap_progress.py +56 -4
  37. package/.agent-src/skills/blade-ui/SKILL.md +29 -10
  38. package/.agent-src/skills/command-writing/SKILL.md +15 -4
  39. package/.agent-src/skills/existing-ui-audit/SKILL.md +24 -9
  40. package/.agent-src/skills/fe-design/SKILL.md +20 -15
  41. package/.agent-src/skills/file-editor/SKILL.md +9 -0
  42. package/.agent-src/skills/livewire/SKILL.md +26 -7
  43. package/.agent-src/skills/refine-ticket/SKILL.md +30 -24
  44. package/.agent-src/skills/roadmap-management/SKILL.md +22 -16
  45. package/.agent-src/skills/skill-writing/SKILL.md +3 -3
  46. package/.agent-src/skills/upstream-contribute/SKILL.md +2 -2
  47. package/.agent-src/templates/agent-settings.md +1 -1
  48. package/.agent-src/templates/roadmaps.md +9 -8
  49. package/.agent-src/templates/scripts/memory_lookup.py +1 -1
  50. package/.agent-src/templates/scripts/work_engine/__init__.py +2 -2
  51. package/.agent-src/templates/scripts/work_engine/cli.py +64 -461
  52. package/.agent-src/templates/scripts/work_engine/cli_args.py +116 -0
  53. package/.agent-src/templates/scripts/work_engine/delivery_state.py +3 -3
  54. package/.agent-src/templates/scripts/work_engine/directives/backend/__init__.py +1 -1
  55. package/.agent-src/templates/scripts/work_engine/directives/backend/implement.py +1 -1
  56. package/.agent-src/templates/scripts/work_engine/directives/backend/memory.py +1 -1
  57. package/.agent-src/templates/scripts/work_engine/directives/backend/plan.py +1 -1
  58. package/.agent-src/templates/scripts/work_engine/directives/backend/report.py +1 -1
  59. package/.agent-src/templates/scripts/work_engine/dispatcher.py +1 -1
  60. package/.agent-src/templates/scripts/work_engine/emitters.py +43 -0
  61. package/.agent-src/templates/scripts/work_engine/errors.py +19 -0
  62. package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +76 -0
  63. package/.agent-src/templates/scripts/work_engine/input_builders.py +163 -0
  64. package/.agent-src/templates/scripts/work_engine/migration/v0_to_v1.py +34 -2
  65. package/.agent-src/templates/scripts/work_engine/persona_policy.py +1 -1
  66. package/.agent-src/templates/scripts/work_engine/resolvers/prompt.py +1 -1
  67. package/.agent-src/templates/scripts/work_engine/state_io.py +202 -0
  68. package/.claude-plugin/marketplace.json +1 -1
  69. package/AGENTS.md +6 -4
  70. package/CHANGELOG.md +83 -8
  71. package/README.md +24 -23
  72. package/docs/MIGRATION.md +122 -0
  73. package/docs/architecture.md +83 -34
  74. package/docs/contracts/STABILITY.md +95 -0
  75. package/docs/contracts/adr-chat-history-split.md +132 -0
  76. package/docs/contracts/adr-command-suggestion.md +146 -0
  77. package/docs/contracts/adr-implement-ticket-runtime.md +122 -0
  78. package/docs/contracts/adr-product-ui-track.md +384 -0
  79. package/docs/contracts/adr-prompt-driven-execution.md +187 -0
  80. package/docs/contracts/agent-memory-contract.md +149 -0
  81. package/docs/contracts/artifact-engagement-flow.md +262 -0
  82. package/docs/contracts/command-clusters.md +126 -0
  83. package/docs/contracts/command-suggestion-flow.md +148 -0
  84. package/docs/contracts/implement-ticket-flow.md +628 -0
  85. package/docs/contracts/linear-ai-rules-inclusion.md +143 -0
  86. package/docs/contracts/linear-ai-three-layers.md +131 -0
  87. package/docs/contracts/rule-interactions.md +107 -0
  88. package/docs/contracts/rule-interactions.yml +142 -0
  89. package/docs/contracts/ui-stack-extension.md +236 -0
  90. package/docs/contracts/ui-track-flow.md +338 -0
  91. package/docs/getting-started.md +2 -2
  92. package/docs/installation.md +42 -6
  93. package/docs/migrations/commands-1.15.0.md +112 -0
  94. package/docs/ui-track-mental-model.md +121 -0
  95. package/package.json +1 -1
  96. package/scripts/build_linear_digest.py +4 -4
  97. package/scripts/check_portability.py +2 -0
  98. package/scripts/check_public_links.py +185 -0
  99. package/scripts/check_references.py +1 -0
  100. package/scripts/lint_no_new_atomic_commands.py +179 -0
  101. package/scripts/lint_rule_interactions.py +149 -0
  102. package/scripts/memory_lookup.py +1 -1
  103. package/scripts/release.py +297 -64
  104. package/scripts/skill_linter.py +14 -0
  105. package/scripts/update_counts.py +10 -0
  106. package/.agent-src/rules/chat-history.md +0 -200
@@ -30,12 +30,13 @@ the dashboard **in the same response**.
30
30
  `count_open == 0` (pure `[x]`, or `[x]` + `[~]`/`[-]`), `git mv`
31
31
  it into `agents/roadmaps/archive/` **before** regenerating — see
32
32
  the auto-archive decision table under "Check completion status"
33
- below. A 100%-complete roadmap left in `agents/roadmaps/` makes
34
- the next reader think work is still open.
33
+ below. A 100%-complete roadmap left in `agents/roadmaps/` makes the
34
+ next reader think work is still open.
35
35
 
36
- Enforced by [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md).
37
- Batching edits in one response is fine — one final regeneration before
38
- replying is enough. But the response must not end without it.
36
+ This is enforced by the [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md)
37
+ rule. Batching multiple edits in one response is fine — one final
38
+ regeneration before replying is enough. But the response must not end
39
+ without it.
39
40
 
40
41
  ## Procedure: Manage a roadmap
41
42
 
@@ -100,11 +101,13 @@ Every roadmap follows this structure:
100
101
 
101
102
  ## Key rules for roadmaps
102
103
 
103
- ### Checkboxes
104
+ ### Checkboxes — mandatory, not decorative
104
105
 
106
+ - **Every active roadmap MUST contain at least one `- [ ]` per non-intro phase.** Decision tables, ICE matrices, and block-sequencing tables are valid rationale, but they do not satisfy this rule on their own — pair them with a `## Phase N` or `## Implementation Checklist` section whose checkboxes execute the decision. A roadmap without checkboxes is invisible to `agents/roadmaps-progress.md` and violates [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md) Iron Law #2.
105
107
  - Every actionable step uses `- [ ]` (unchecked) or `- [x]` (completed).
106
108
  - Mark steps as `[x]` immediately after completing them.
107
109
  - Never remove completed steps — they serve as history.
110
+ - **Status is binary: `ready` (default, implicit) or `draft`.** New roadmaps are created **ready** unless the user explicitly says otherwise — `ready` is implicit and need not be written. A roadmap that is still being authored, awaiting upstream decisions, or capturing options without a worked plan declares `status: draft` in YAML frontmatter at the top of the file. Drafts are hidden from `agents/roadmaps-progress.md` until the flag is removed or flipped to `ready`. There are no other status values; legacy banners (`**Status: directional**`, `Status: capture-only`, `mode: feedback`) are removed.
108
111
 
109
112
  ### Phases
110
113
 
@@ -138,12 +141,13 @@ Every roadmap implicitly includes these gates (run after each step that changes
138
141
  1. Ask the user for goal, context-create, and phases.
139
142
  2. Use the template structure from `.augment/templates/roadmaps.md`.
140
143
  3. Review with the user iteratively until approved.
141
- 4. **Branch & release questions — ask at most once, only if genuinely useful.**
142
- Default: stay on current branch, no version numbers in roadmap.
143
- Only propose a separate branch with concrete evidence (e.g. risky
144
- migration spike branch). Never include releases, deprecation dates,
145
- or git tags in roadmap text. If user declines, do **not** re-propose
146
- during `roadmap-execute`. Decline = silence. See [`scope-control`](../../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
144
+ 4. **Branch & release questions — at most once, only if genuinely useful.**
145
+ Default: stay on the current branch, no version numbers in the
146
+ roadmap. Only propose a separate branch when there is concrete,
147
+ evidence-based reason (e.g. risky migration benefits from a spike).
148
+ Never include release versions, deprecation dates, or git tags in
149
+ the roadmap text. If the user declines, do **not** re-propose during
150
+ `roadmap-execute`. Decline = silence. See [`scope-control`](../../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
147
151
  5. Save with a kebab-case filename (e.g. `optimize-webhook-jobs.md`).
148
152
  6. Regenerate the dashboard so the new roadmap is included.
149
153
 
@@ -272,8 +276,10 @@ Command:
272
276
  ./agent-config roadmap:progress-check # CI: fail if stale
273
277
  ```
274
278
 
275
- The `./agent-config` wrapper is written into the project root by the
276
- installer and always works no global tooling or task runner required.
279
+ The `./agent-config` wrapper lives in the project root (written by the
280
+ package installer, gitignored) and delegates to the master CLI inside
281
+ `node_modules/@event4u/agent-config/` or `vendor/event4u/agent-config/`.
282
+ No global tooling required.
277
283
 
278
284
  The dashboard is a **read-only snapshot**. Do not edit it by hand — regenerate it.
279
285
 
@@ -309,5 +315,5 @@ The dashboard is a **read-only snapshot**. Do not edit it by hand — regenerate
309
315
  - Do NOT archive roadmaps with open `[ ]` items without asking the user.
310
316
  - Do NOT delete roadmaps — always move to `archive/` or `skipped/`.
311
317
  - Do NOT use `skipped/` as a dumping ground for partially-finished work — that is what `archive/` with deferred items is for.
312
- - Do NOT assign version numbers, git tags, deprecation dates, or release identifiers to phases. Hard rule — see [`scope-control`](../../rules/scope-control.md#git-operations--permission-gated).
313
- - Do NOT propose a branch switch while executing a roadmap. Branch question is settled at creation; declined or never-asked = silent. See [`scope-control`](../../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
318
+ - Do NOT assign version numbers, git tags, deprecation dates, or release identifiers to phases. Roadmaps plan work; releases and tags are decided by the user separately. Hard rule — see [`scope-control`](../../rules/scope-control.md#git-operations--permission-gated).
319
+ - Do NOT propose a branch switch while executing a roadmap. The branch question is settled at creation time; if the user already declined (or you never asked because it wasn't sensible), stay silent. See [`scope-control`](../../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
@@ -173,9 +173,9 @@ Present the stub as a numbered-options prompt (per `user-interaction`):
173
173
  ```
174
174
 
175
175
  Nothing is committed without the user's pick. If the user picks *skip*,
176
- record it in the commit message (`Eval stub: deferred`). Peer examples:
177
- `php-coder/evals/triggers.json`, `eloquent/evals/triggers.json`,
178
- `skill-writing/evals/triggers.json`.
176
+ record it in the commit message (`Eval stub: deferred`). Peer examples
177
+ for the expected format: `php-coder/evals/triggers.json`,
178
+ `eloquent/evals/triggers.json`, `skill-writing/evals/triggers.json`.
179
179
 
180
180
  Rules / commands / guidelines do **not** get eval stubs — only skills
181
181
  route through the top-level catalogue.
@@ -185,7 +185,7 @@ run the Stage-4 gate before opening the PR:
185
185
  ./agent-config proposal:check agents/proposals/{slug}.md
186
186
  ```
187
187
 
188
- **Hard refusal rule:** if `check_proposal.py` exits non-zero, STOP —
188
+ **Hard refusal rule:** if `./agent-config proposal:check` exits non-zero, STOP —
189
189
  do not create the branch, do not push, do not open the PR. Surface the
190
190
  findings to the user, ask them to fix the proposal (add evidence,
191
191
  remove TODO markers, complete required sections), then rerun.
@@ -247,7 +247,7 @@ The shared version now replaces the local override.
247
247
  ## Do NOT
248
248
 
249
249
  - **Do NOT create any upstream artifact without explicit user consent** — this is the #1 rule
250
- - **Do NOT open a PR if `check_proposal.py` blocks** — fix the proposal first (step 6b)
250
+ - **Do NOT open a PR if `./agent-config proposal:check` blocks** — fix the proposal first (step 6b)
251
251
  - Do NOT edit `.augment/` in the consumer project — it's managed by the package
252
252
  - Do NOT submit project-specific content without generalizing it first
253
253
  - Do NOT skip the compressed version — both files are mandatory
@@ -299,7 +299,7 @@ commands:
299
299
  # rules, commands, guidelines, personas) the agent consulted and
300
300
  # applied. Local only, append-only JSONL, never reaches a consumer
301
301
  # repo (gitignored). Maintainer-targeted feature; consumers leave it
302
- # off. See `agents/contexts/artifact-engagement-flow.md` (once Phase 3
302
+ # off. See `docs/contracts/artifact-engagement-flow.md` (once Phase 3
303
303
  # of road-to-artifact-engagement-telemetry lands).
304
304
  telemetry:
305
305
  artifact_engagement:
@@ -7,7 +7,8 @@ Templates for roadmap files stored in `agents/roadmaps/` or `app/Modules/{Module
7
7
  ## Rules for Roadmaps
8
8
 
9
9
  1. **Be precise and concise.** Aim for 500–1000 lines max. If larger, split into multiple files.
10
- 2. **Use checkboxes** (`- [ ]`) for every actionable step. Mark `[x]` when completed.
10
+ 2. **Checkboxes are mandatory, not decorative.** Every active roadmap MUST contain at least one `- [ ]` per non-intro phase. Decision tables, ICE matrices, and block-sequencing tables capture the *why*; checkboxes capture the *what to do next*. A roadmap without checkboxes is invisible to `agents/roadmaps-progress.md` the dashboard cannot count it, the next reader thinks no work is planned. Enforced by [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md) Iron Law #2.
11
+ - **Status is binary: `ready` (default) or `draft`.** New roadmaps are created **ready** unless the user explicitly says draft — `ready` is implicit and need not be written. Drafts declare it via frontmatter at the top of the file (`---\nstatus: draft\n---`) and are hidden from the dashboard until the flag is removed or flipped to `ready`. Use `draft` while the roadmap is still being authored, while waiting for upstream decisions, or as a capture-only synthesis that has not been promoted to executable phases. There are no other status values; legacy banners like `**Status: directional**` are removed.
11
12
  3. **State the goal first.** One sentence at the top — what is the outcome?
12
13
  4. **List prerequisites** — what must exist or be running before starting.
13
14
  5. **Reference existing code** — point to files, classes, or modules.
@@ -24,17 +25,17 @@ Templates for roadmap files stored in `agents/roadmaps/` or `app/Modules/{Module
24
25
  - `agents/roadmaps/skipped/` — decision against pursuit; typically 0 items `[x]` (superseded, scope rejected)
25
26
 
26
27
  See the `roadmap-management` skill for the exact trigger matrix and user-confirmation flow.
27
-
28
28
  13. **No tags, releases, or version numbers.** Roadmaps describe work, not shipping.
29
29
  Never assign version suffixes to phases (`Phase 1 — v1.8.0`), never write
30
30
  "Target release: X.Y.Z", never plan git tags or deprecation dates. Release
31
- and tag decisions belong to the user, taken outside the roadmap. Enforced by
32
- [`scope-control`](../rules/scope-control.md#git-operations--permission-gated).
31
+ and tag decisions belong to the user and are taken outside the roadmap.
32
+ This is enforced by [`scope-control`](../rules/scope-control.md#git-operations--permission-gated).
33
33
  14. **No automatic branch switches mid-roadmap.** Roadmap work runs on the
34
- current branch. If a separate branch (spike, hotfix, experiment) would
35
- be useful, agent may propose it **once** during creation — not during
36
- execution. Default: stay on current branch. If user declines, topic is
37
- closed for this roadmap. See [`scope-control`](../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
34
+ branch the user is on. If a separate branch (spike, hotfix, experiment)
35
+ would be genuinely useful, the agent may propose it **once** while
36
+ creating the roadmap — not during execution. Default: stay on the
37
+ current branch. If the user declines, the topic is closed for this
38
+ roadmap. See [`scope-control`](../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
38
39
 
39
40
  ---
40
41
 
@@ -246,7 +246,7 @@ def _apply_conflict_rule(
246
246
  # says retrieval should route through `@event4u/agent-memory`. The package
247
247
  # CLI is purely **semantic** (`memory retrieve <query> --type T …`); the
248
248
  # shared `retrieve(types, keys, …)` API is **key-based**. The hybrid
249
- # resolution agreed in `agents/contexts/agent-memory-contract.md` synthesises
249
+ # resolution agreed in `docs/contracts/agent-memory-contract.md` synthesises
250
250
  # `keys` into a single natural-language query for the package call, while
251
251
  # the file fallback continues to do glob/substring matching on the same
252
252
  # keys. Both legs land in the same `Hit` shape so the conflict rule can
@@ -8,8 +8,8 @@ the dispatcher, CLI and step modules over from the legacy
8
8
  that re-exports from here with a ``DeprecationWarning``.
9
9
 
10
10
  Architectural constraints (from
11
- ``agents/contexts/adr-implement-ticket-runtime.md`` and
12
- ``agents/contexts/implement-ticket-flow.md``):
11
+ ``docs/contracts/adr-implement-ticket-runtime.md`` and
12
+ ``docs/contracts/implement-ticket-flow.md``):
13
13
 
14
14
  - Runtime is Python 3.10+.
15
15
  - The dispatcher is linear, not a DAG. Eight fixed steps, fixed order.