create-byan-agent 2.23.0 → 2.26.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 (172) hide show
  1. package/CHANGELOG.md +230 -0
  2. package/README.md +9 -12
  3. package/install/bin/create-byan-agent-v2.js +29 -169
  4. package/install/lib/agent-generator.js +5 -5
  5. package/install/lib/byan-web-integration.js +1 -1
  6. package/install/lib/claude-native-setup.js +1 -1
  7. package/install/lib/phase2-chat.js +3 -10
  8. package/install/lib/platforms/claude-code.js +2 -2
  9. package/install/lib/platforms/index.js +0 -2
  10. package/install/lib/project-agents-generator.js +3 -3
  11. package/install/lib/staging-consent.js +3 -3
  12. package/install/lib/subagent-generator.js +3 -3
  13. package/install/lib/yanstaller/agent-launcher.js +1 -27
  14. package/install/lib/yanstaller/detector.js +4 -4
  15. package/install/lib/yanstaller/installer.js +0 -2
  16. package/install/lib/yanstaller/interviewer.js +1 -1
  17. package/install/lib/yanstaller/platform-selector.js +1 -13
  18. package/install/package.json +1 -1
  19. package/install/src/byan-v2/context/session-state.js +2 -2
  20. package/install/src/byan-v2/index.js +2 -6
  21. package/install/src/byan-v2/orchestrator/generation-state.js +4 -4
  22. package/install/src/webui/api.js +0 -2
  23. package/install/src/webui/chat/bridge.js +1 -13
  24. package/install/src/webui/chat/cli-detector.js +0 -23
  25. package/install/src/webui/public/app.js +1 -3
  26. package/install/src/webui/public/chat.html +0 -2
  27. package/install/src/webui/public/chat.js +0 -1
  28. package/install/src/webui/public/index.html +2 -2
  29. package/install/templates/.claude/CLAUDE.md +13 -2
  30. package/install/templates/.claude/agents/bmad-byan.md +1 -1
  31. package/install/templates/.claude/hooks/autobench-stop-guard.js +286 -0
  32. package/install/templates/.claude/hooks/drain-advisory.js +85 -0
  33. package/install/templates/.claude/hooks/fact-check-absolutes.js +1 -61
  34. package/install/templates/.claude/hooks/fact-check-claims.js +69 -0
  35. package/install/templates/.claude/hooks/fd-response-check.js +37 -46
  36. package/install/templates/.claude/hooks/inject-soul.js +64 -25
  37. package/install/templates/.claude/hooks/leantime-fd-sync.js +216 -0
  38. package/install/templates/.claude/hooks/lib/autobench-config.json +81 -0
  39. package/install/templates/.claude/hooks/lib/autobench-fc-enrich.js +251 -0
  40. package/install/templates/.claude/hooks/lib/autobench-ledger-report.js +253 -0
  41. package/install/templates/.claude/hooks/lib/autobench-runtime.js +199 -0
  42. package/install/templates/.claude/hooks/lib/fact-check-core.js +69 -0
  43. package/install/templates/.claude/hooks/lib/failure-detector.js +18 -4
  44. package/install/templates/.claude/hooks/lib/transcript-read.js +137 -0
  45. package/install/templates/.claude/hooks/soul-memory-check.js +49 -25
  46. package/install/templates/.claude/hooks/soul-memory-triggers.js +27 -8
  47. package/install/templates/.claude/hooks/stage-to-byan.js +25 -7
  48. package/install/templates/.claude/hooks/strict-stop-guard.js +4 -16
  49. package/install/templates/.claude/rules/benchmark.md +251 -0
  50. package/install/templates/.claude/rules/byan-agents.md +0 -1
  51. package/install/templates/.claude/rules/byan-api.md +64 -0
  52. package/install/templates/.claude/rules/fact-check.md +1 -1
  53. package/install/templates/.claude/rules/strict-mode.md +10 -9
  54. package/install/templates/.claude/settings.json +16 -0
  55. package/install/templates/.claude/skills/byan-benchmark/SKILL.md +159 -0
  56. package/install/templates/.claude/skills/byan-byan/SKILL.md +73 -12
  57. package/install/templates/.claude/skills/byan-fact-check/SKILL.md +1 -1
  58. package/install/templates/.claude/skills/byan-hermes-dispatch/SKILL.md +5 -6
  59. package/install/templates/.claude/skills/byan-insight/SKILL.md +56 -0
  60. package/install/templates/.claude/skills/byan-orchestrate/SKILL.md +11 -3
  61. package/install/templates/.claude/skills/byan-strict/SKILL.md +4 -1
  62. package/install/templates/.claude/workflows/INDEX.md +2 -1
  63. package/install/templates/.claude/workflows/byan-benchmark.js +328 -0
  64. package/install/templates/.claude/workflows/check-implementation-readiness.js +1 -1
  65. package/install/templates/_byan/_config/agent-manifest.csv +1 -1
  66. package/install/templates/_byan/_config/autobench.yaml +510 -0
  67. package/install/templates/_byan/_config/strict-mode.yaml +9 -3
  68. package/install/templates/_byan/_config/workflow-manifest.csv +1 -0
  69. package/install/templates/_byan/agent/byan/byan.md +1 -3
  70. package/install/templates/_byan/agent/byan-flat/byan.md +1 -3
  71. package/install/templates/_byan/agent/byan-test/byan-test.md +2 -2
  72. package/install/templates/_byan/agent/byan-test-flat/byan-test.md +2 -2
  73. package/install/templates/_byan/agent/byan.optimized/byan.optimized.md +2 -2
  74. package/install/templates/_byan/agent/byan.optimized-v2/byan.optimized-v2.md +2 -2
  75. package/install/templates/_byan/agent/claude/claude.md +0 -2
  76. package/install/templates/_byan/agent/codex/codex.md +0 -2
  77. package/install/templates/_byan/agent/rachid/rachid.md +2 -10
  78. package/install/templates/_byan/agent/rachid-flat/rachid.md +2 -11
  79. package/install/templates/_byan/agent/turbo-whisper/turbo-whisper.md +2 -5
  80. package/install/templates/_byan/agent/turbo-whisper-integration/turbo-whisper-integration.md +5 -13
  81. package/install/templates/_byan/agent/yanstaller/yanstaller.md +2 -24
  82. package/install/templates/_byan/config.yaml +0 -1
  83. package/install/templates/_byan/core/activation/soul-activation.md +3 -3
  84. package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-insight-digest.js +31 -0
  85. package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-sync-rules.js +20 -4
  86. package/install/templates/_byan/mcp/byan-mcp-server/lib/advisory-autofeed.js +96 -0
  87. package/install/templates/_byan/mcp/byan-mcp-server/lib/index-generator.js +1 -1
  88. package/install/templates/_byan/mcp/byan-mcp-server/lib/insight-harvest.js +220 -0
  89. package/install/templates/_byan/mcp/byan-mcp-server/lib/kanban.js +6 -3
  90. package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-fd-core.js +205 -0
  91. package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-sync.js +415 -0
  92. package/install/templates/_byan/mcp/byan-mcp-server/lib/outcome-buffer.js +64 -0
  93. package/install/templates/_byan/mcp/byan-mcp-server/lib/precommit-gate.js +1 -1
  94. package/install/templates/_byan/mcp/byan-mcp-server/lib/strict-activation.js +1 -1
  95. package/install/templates/_byan/mcp/byan-mcp-server/lib/strict-mode.js +8 -0
  96. package/install/templates/_byan/mcp/byan-mcp-server/lib/sync-rules.js +172 -23
  97. package/install/templates/_byan/mcp/byan-mcp-server/lib/workflows-generator.js +1 -0
  98. package/install/templates/_byan/mcp/byan-mcp-server/server.js +262 -81
  99. package/install/templates/_byan/worker/launchers/README.md +4 -24
  100. package/install/templates/_byan/worker/workers.md +8 -9
  101. package/install/templates/_byan/workflow/simple/bmb/byan-benchmark/workflow.md +86 -0
  102. package/install/templates/_byan/workflow/simple/byan/feature-workflow.md +2 -2
  103. package/install/templates/docs/leantime-integration.md +160 -0
  104. package/package.json +3 -7
  105. package/src/byan-v2/context/session-state.js +2 -2
  106. package/src/byan-v2/generation/mantra-validator.js +3 -3
  107. package/src/byan-v2/index.js +1 -5
  108. package/src/byan-v2/integration/voice-integration.js +1 -1
  109. package/src/byan-v2/orchestrator/generation-state.js +4 -4
  110. package/src/loadbalancer/loadbalancer.js +1 -1
  111. package/src/staging/staging.js +20 -6
  112. package/install/bin/build-copilot-stubs.js +0 -138
  113. package/install/lib/platforms/copilot-cli.js +0 -123
  114. package/install/lib/platforms/vscode.js +0 -51
  115. package/install/src/byan-v2/context/copilot-context.js +0 -79
  116. package/install/src/webui/chat/copilot-adapter.js +0 -68
  117. package/install/templates/.claude/agents/bmad-marc.md +0 -25
  118. package/install/templates/.claude/skills/byan-marc/SKILL.md +0 -20
  119. package/install/templates/.github/agents/bmad-agent-bmad-master.md +0 -16
  120. package/install/templates/.github/agents/bmad-agent-bmb-agent-builder.md +0 -16
  121. package/install/templates/.github/agents/bmad-agent-bmb-module-builder.md +0 -16
  122. package/install/templates/.github/agents/bmad-agent-bmb-workflow-builder.md +0 -16
  123. package/install/templates/.github/agents/bmad-agent-bmm-analyst.md +0 -16
  124. package/install/templates/.github/agents/bmad-agent-bmm-architect.md +0 -16
  125. package/install/templates/.github/agents/bmad-agent-bmm-dev.md +0 -16
  126. package/install/templates/.github/agents/bmad-agent-bmm-pm.md +0 -16
  127. package/install/templates/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.md +0 -16
  128. package/install/templates/.github/agents/bmad-agent-bmm-quinn.md +0 -16
  129. package/install/templates/.github/agents/bmad-agent-bmm-sm.md +0 -16
  130. package/install/templates/.github/agents/bmad-agent-bmm-tech-writer.md +0 -16
  131. package/install/templates/.github/agents/bmad-agent-bmm-ux-designer.md +0 -16
  132. package/install/templates/.github/agents/bmad-agent-byan-test.md +0 -33
  133. package/install/templates/.github/agents/bmad-agent-byan-v2.md +0 -44
  134. package/install/templates/.github/agents/bmad-agent-byan.md +0 -1062
  135. package/install/templates/.github/agents/bmad-agent-carmack.md +0 -14
  136. package/install/templates/.github/agents/bmad-agent-cis-brainstorming-coach.md +0 -16
  137. package/install/templates/.github/agents/bmad-agent-cis-creative-problem-solver.md +0 -16
  138. package/install/templates/.github/agents/bmad-agent-cis-design-thinking-coach.md +0 -16
  139. package/install/templates/.github/agents/bmad-agent-cis-innovation-strategist.md +0 -16
  140. package/install/templates/.github/agents/bmad-agent-cis-presentation-master.md +0 -16
  141. package/install/templates/.github/agents/bmad-agent-cis-storyteller.md +0 -16
  142. package/install/templates/.github/agents/bmad-agent-claude.md +0 -49
  143. package/install/templates/.github/agents/bmad-agent-codex.md +0 -49
  144. package/install/templates/.github/agents/bmad-agent-drawio.md +0 -45
  145. package/install/templates/.github/agents/bmad-agent-fact-checker.md +0 -16
  146. package/install/templates/.github/agents/bmad-agent-forgeron.md +0 -15
  147. package/install/templates/.github/agents/bmad-agent-jimmy.md +0 -15
  148. package/install/templates/.github/agents/bmad-agent-marc.md +0 -49
  149. package/install/templates/.github/agents/bmad-agent-mike.md +0 -15
  150. package/install/templates/.github/agents/bmad-agent-patnote.md +0 -49
  151. package/install/templates/.github/agents/bmad-agent-rachid.md +0 -48
  152. package/install/templates/.github/agents/bmad-agent-skeptic.md +0 -16
  153. package/install/templates/.github/agents/bmad-agent-tao.md +0 -14
  154. package/install/templates/.github/agents/bmad-agent-tea-tea.md +0 -16
  155. package/install/templates/.github/agents/bmad-agent-test-dynamic.md +0 -22
  156. package/install/templates/.github/agents/bmad-agent-yanstaller-interview.md +0 -50
  157. package/install/templates/.github/agents/bmad-agent-yanstaller-phase2.md +0 -189
  158. package/install/templates/.github/agents/bmad-agent-yanstaller.md +0 -350
  159. package/install/templates/.github/agents/expert-merise-agile.md +0 -178
  160. package/install/templates/.github/agents/franck.md +0 -379
  161. package/install/templates/.github/agents/hermes.md +0 -575
  162. package/install/templates/.github/extensions/byan-staging/extension.mjs +0 -169
  163. package/install/templates/.github/extensions/byan-staging/package.json +0 -8
  164. package/install/templates/_byan/agent/marc/marc-soul.md +0 -47
  165. package/install/templates/_byan/agent/marc/marc-tao.md +0 -77
  166. package/install/templates/_byan/agent/marc/marc.md +0 -324
  167. package/install/templates/_byan/agent/marc-flat/marc.md +0 -387
  168. package/install/templates/_byan/mcp/byan-mcp-server/lib/copilot.js +0 -148
  169. package/install/templates/_byan/worker/launchers/launch-yanstaller-copilot.md +0 -173
  170. package/install/templates/workers/cost-optimizer.js +0 -169
  171. package/src/byan-v2/context/copilot-context.js +0 -79
  172. package/src/core/dispatcher/execution-router.js +0 -66
package/CHANGELOG.md CHANGED
@@ -9,6 +9,236 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [2.26.0] - 2026-06-16
13
+
14
+ ### Added - Leantime FD auto-sync hook (FD lifecycle -> board, automatic)
15
+
16
+ The FD -> Leantime mirror is now AUTOMATIC. A `PostToolUse` hook
17
+ (`.claude/hooks/leantime-fd-sync.js`, registered in `.claude/settings.json`) fires
18
+ after `byan_fd_advance` / `byan_fd_update` and drives the board with no agent
19
+ action: it ensures the project at DISCOVERY, creates one task per backlog feature
20
+ at DISPATCH, and moves tasks through `todo -> doing -> blocked/review -> done` as
21
+ the FD advances. This supersedes the hand-driven section 2.5 fire points (which
22
+ the agent had to run by hand and could skip).
23
+
24
+ - **Pure core** (`_byan/mcp/byan-mcp-server/lib/leantime-fd-core.js`):
25
+ `decideActions` maps a phase transition + the sidecar to ordered Leantime
26
+ intents; unit-tested for every transition. The hook is a thin I/O shell that
27
+ executes them.
28
+ - **Best-effort + bounded**: the hook exits 0 in every path (a sync issue does
29
+ not block the turn), no-ops when Leantime is off, self-heals a dropped call on
30
+ the next phase event (a per-call timeout + a hook wall-clock budget), and logs
31
+ every attempt to `.byan-leantime/sync.jsonl`.
32
+ - **Idempotence**: a gitignored sidecar (`.byan-leantime/map.json`, keyed by
33
+ fd_id) is the single id ledger — a REFACTOR loop re-builds without duplicating a
34
+ project or task. The hook does not write `fd-state.json` (state-coupling).
35
+ - **Human visibility** (`assignUserToProject` + `LEANTIME_ASSIGN_USER_ID`): an
36
+ API-created project is owned by the API service user and hidden from a person's
37
+ project selector; the hook relates the configured human so the board shows up.
38
+ The underlying Leantime RPC reconciles a user's whole project list, so the
39
+ assign reads the full list first and writes the union (fail-closed if that read
40
+ is incomplete) to avoid unassigning the user's other projects.
41
+
42
+ ### Added - Leantime project-management integration (one-way FD -> board)
43
+
44
+ BYAN can now mirror its Feature Development lifecycle onto a self-hosted Leantime
45
+ instance. When `LEANTIME_API_URL` + `LEANTIME_API_TOKEN` are configured, the FD
46
+ phases drive a Leantime project and one task per backlog feature ; when absent,
47
+ the tools report disabled and FD proceeds unchanged. The sync is one direction
48
+ (FD -> Leantime) and best-effort : a down or misconfigured Leantime degrades to
49
+ `{ synced:false, reason }` and does not block a phase transition.
50
+
51
+ - **Client** (`_byan/mcp/byan-mcp-server/lib/leantime-sync.js`): a JSON-RPC 2.0
52
+ client for `<base>/api/jsonrpc`, authenticated by the Leantime-native
53
+ `x-api-key` header (kept distinct from the byan_web `ApiKey/Bearer` scheme).
54
+ Best-effort and does not throw, with an `AbortController` timeout and a
55
+ non-JSON-200 guard that rejects an HTML login body (the wrong-host lesson)
56
+ instead of reading it as an empty board. Business fns: `ensureProject`
57
+ (idempotent by name), `createTask`, `moveTask`, `assignTask`, `getTask`,
58
+ `getBoard`, plus `resolveStatusMap` / `resolveClientId` / `resolveEditorId`.
59
+ - **MCP tools** (7): `byan_leantime_ping`, `byan_leantime_project_ensure`,
60
+ `byan_leantime_task_create`, `byan_leantime_task_move`,
61
+ `byan_leantime_task_assign`, `byan_leantime_task_get`,
62
+ `byan_leantime_board_get`. All but `ping` pass through `requireLeantime()`.
63
+ - **FD wiring** (`.claude/skills/byan-byan/SKILL.md` section 2.5): fire points
64
+ DISCOVERY -> project_ensure, DISPATCH -> task_create per feature, BUILD ->
65
+ doing, REVIEW/VALIDATE-KO -> blocked, VALIDATE-OK -> review, DOC -> done.
66
+ Leantime ids persist into fd-state (`project_context.leantime.projectId`,
67
+ backlog `leantime.taskId`) so a REFACTOR loop reuses tasks instead of
68
+ duplicating them.
69
+ - **Status mapping**: the canonical FD columns (`todo|doing|blocked|review|done`)
70
+ resolve to per-project Leantime status ids at call time, with a conservative
71
+ fallback when the labels cannot be read.
72
+ - **Tests**: `test/leantime-sync.test.js` (14 cases: auth header, non-JSON guard,
73
+ timeout, idempotence, column resolution) + `test/leantime-tools.test.js`
74
+ (the 7-tool declaration/handler surface in server.js).
75
+ - **Docs**: `.claude/rules/byan-api.md` section 8 (the `byan_leantime_*` family +
76
+ the wrong-host lesson).
77
+ - **Pending**: the live wire-format verification (one real POST with a Leantime
78
+ PAT, to confirm `params:{values:{}}` wrapping against the running instance) is
79
+ a documented follow-up ; the tested format follows the Leantime master source.
80
+
81
+ ### Removed - GitHub Copilot CLI + VSCode dropped as target platforms (3 -> 2)
82
+
83
+ BYAN now targets two platforms: Claude Code and Codex. GitHub Copilot CLI and
84
+ the VSCode extension are no longer install targets. This is a breaking change for
85
+ anyone who relied on the Copilot/VSCode output.
86
+
87
+ - **Install path** (`npx create-byan-agent`): the platform menu, auto-select, and
88
+ generated stubs cover Claude Code + Codex only. The `byan_copilot_*` MCP tool
89
+ family and the `marc` Copilot-oriented agent were removed in the core pass
90
+ (commit `0f06cf8`).
91
+ - **Web UI** (ships on npm via `install/src/webui`): the chat CLI selector, the
92
+ `cli-detector` definitions, the platform-detection list, and the marketing copy
93
+ drop Copilot and VSCode; the `copilot-adapter` bridge and its `createBridge`
94
+ case are gone (`createBridge('copilot')` now rejects with `Unknown CLI adapter`).
95
+ - **Dead code**: both shipped copies of the orphaned `copilot-context` module
96
+ (`src/byan-v2/context/` and `install/src/byan-v2/context/`) and two stale
97
+ non-jest harnesses (`test-byan-v2-workflow.js`, `test-workflow-simple.js`) were
98
+ deleted.
99
+ - **Note**: the `byan-loadbalancer` Copilot *provider* (an LLM backend, not an
100
+ install target) is unaffected and stays.
101
+
102
+ ### Added - Auto-Benchmark: native sourced decision benchmarks (C1-C5)
103
+
104
+ When the agent is about to ask you to choose between options, it now benchmarks
105
+ the fork by default: one compact `Option | criteria | Niv` table with a best-first
106
+ recommendation, sourced and confidence-tagged, at the right level of detail — so
107
+ you no longer have to ask each time. Two layers cover this honestly (Claude Code
108
+ exposes no pre-display interception hook today, GH #28273):
109
+
110
+ - **Proactive doctrine** (the broadly-portable layer). The full doctrine lives in
111
+ `.claude/rules/benchmark.md`, generated from the single source of truth
112
+ `_byan/_config/autobench.yaml` by `byan-sync-rules`, and a lean pointer is
113
+ upserted cross-platform into `.claude/CLAUDE.md`, `AGENTS.md`, and
114
+ `.github/copilot-instructions.md` (idempotent `BYAN-AUTOBENCH` markers). It
115
+ covers the TRIGGER 2-gate rule (>= 2 non-substitutable options diverging on
116
+ >= 1 weighted criterion) + the exemption list (y/n confirms, destructive
117
+ prompts) + internal/external routing + a verbatim few-shot decision tree, the
118
+ SCALER 5-level evidence rubric + strict-domain floors + the link-only-if-WebFetch
119
+ rule, the FORMAT compact table with hard caps (<= 4 options / <= 4 criteria /
120
+ <= 3 links) + collapse-the-degenerate + `[bench:expand]` opt-in, and the
121
+ ANTI-BLOAT latency guard + escape-hatch + no-re-benchmark.
122
+ - **Reactive Stop hook** (`.claude/hooks/autobench-stop-guard.js`), the safety
123
+ net. It **ships DISARMED**: it observes and ledgers every turn but stays inert
124
+ (does not block) until you opt in — set `enforcement.armed: true` in
125
+ `_byan/_config/autobench.yaml` and run `byan-sync-rules` (config-only; there is
126
+ no loose flag file) — so day one is zero noise / zero latency.
127
+ Detection is **artifact-primary**: a real fork is recognized from an
128
+ `AskUserQuestion` tool_use in the finished turn, with the choice-language regex
129
+ as a last-resort fallback. Block-once is content-hashed (no loop); a session
130
+ escape-hatch (`touch .byan-autobench/off`) plus a cross-session toggle suppress
131
+ it.
132
+ - **Tooling.** A `byan-benchmark` skill (conductor) and a DATA-only native
133
+ workflow (`.claude/workflows/byan-benchmark.js`), both registered in the
134
+ workflow manifest / PORTABLE bucket / INDEX. A BYAN-only opt-in layer enriches
135
+ the matrix via `byan_fc_check`. Every fire/miss is audited to
136
+ `_byan-output/benchmark-ledger.jsonl`.
137
+
138
+ ### Added - byan-install-core (F1): headless, deterministic install engine
139
+
140
+ First feature of the installer refactor (FD lot 1). A new internal workspace
141
+ package `byan-install-core` (`install/packages/install-core/`) that replaces the
142
+ LLM-driven AUTO interview with a deterministic engine. It is the shared core both
143
+ front-ends bind to: the npm CLI wizard (F2, next) and the Electron app (F5).
144
+
145
+ - **Four-verb lifecycle.** `detect(opts)` builds a serializable MachineProfile
146
+ (os, arch, node, npm, git, claude, codex) and is spawn-free by default
147
+ (`probeVersions` is opt-in). `plan(profile, answers)` is pure and turns the
148
+ non-interactive answers contract into an ordered InstallPlan. `apply(plan, opts)`
149
+ is the only mutator. `verify(plan|target)` is read-only.
150
+ - **No LLM, no `which`.** Detection uses a pure-Node PATH walk (`lookpath`,
151
+ honoring Windows PATHEXT); recommendations come from a versioned JSON decision
152
+ table (`data/recommender.json`), not a model call.
153
+ - **Per-OS env + validate-or-die .mcp.json.** `env-writer` and `mcp-renderer`
154
+ reuse the existing `byan-platform-config` package (idempotent marker blocks;
155
+ a config is parsed and validated before any write, so a broken file is not
156
+ emitted on an invalid input).
157
+ - **Per-user install, no sudo.** `--install-cli claude|codex` installs via
158
+ `npm -g`; the AUTH step is an explicit handoff (the engine returns the manual
159
+ command and reports a pending state rather than a fake authenticated success).
160
+ - **ES5 preflight.** `byan-install-core/preflight` is a dependency-free, ES5-only
161
+ entry a launcher can require on an ancient Node to gate the version before any
162
+ modern module loads.
163
+ - Tests: 9 suites / 161 tests for the package; full repo suite green
164
+ (no regression). The CLI wizard, `doctor`, journal/resume and the v2.19
165
+ `--yes` end-to-end snapshot land in the following features (F2, F3).
166
+
167
+ ## [2.25.0] - 2026-06-09
168
+
169
+ ### Added - Advisory auto-feed (BYAN learns from each session, automatically)
170
+
171
+ The insight loop observed and proposed; the missing half was the LEARNING. BYAN's
172
+ advisory ledgers (ELO trust, the suitability ledger) updated only when the agent
173
+ remembered to call a record tool. This wires the automatic half — outcomes are
174
+ recorded at end of turn, with no agent action — while behavior surfaces stay
175
+ human-gated.
176
+
177
+ - **Capture.** The `byan_outcome_log` MCP tool appends one validated advisory
178
+ outcome to a buffer (cheap; it does not write a ledger directly). kind=elo logs
179
+ `{domain, result}`; kind=suitability logs `{model, leafId, success}`.
180
+ - **Drain.** `.claude/hooks/drain-advisory.js` is a Stop hook that, at end of each
181
+ turn, records the buffered outcomes into the ELO ledger (full Glicko update) and
182
+ the suitability ledger, advancing a line cursor for idempotency. It is strictly
183
+ non-blocking (all work in try/catch, emits `{continue:true}` and exit 0 on every
184
+ path) and crosses the ESM/CJS boundary (the CJS ELO engine via require, the ESM
185
+ suitability store via dynamic import).
186
+ - **Advisory-only.** The loop writes only the buffer and the two advisory ledgers.
187
+ Behavior surfaces (routing, personas, mantra thresholds) are left untouched —
188
+ those stay a human decision, consistent with the insight loop's gated philosophy.
189
+ - 71 tests (the pure planners, the buffer, and a drain-hook e2e with ledger
190
+ snapshot/restore) plus a live smoke test recording a real Glicko update. The tool
191
+ and hook ship in the template; the hook registers alongside the existing Stop
192
+ hooks.
193
+ - Explicit follow-ups (out of this scope): the adversarial verdict panel that would
194
+ feed suitability without a manual log, and a fact-graph-derived ELO source.
195
+
196
+ ## [2.24.0] - 2026-06-09
197
+
198
+ ### Added - Session insight loop (gated self-improvement)
199
+
200
+ BYAN already has advisory learning surfaces (ELO trust, the suitability ledger)
201
+ and the native Claude Code hooks already leave outcome trails on disk, but the
202
+ loop was open: the agent had to read and act on them by hand. This closes it,
203
+ under a strict gated philosophy.
204
+
205
+ - **Harvester** `_byan/mcp/byan-mcp-server/lib/insight-harvest.js` +
206
+ `bin/byan-insight-digest.js` + the `byan_insight_digest` MCP tool: read the
207
+ native trails (`tool-log.jsonl` health, strict `audit.log` recurring gaps,
208
+ the suitability ledger routing outcomes, the ELO profile trends) and aggregate
209
+ them into a digest with conservative, GATED proposals. Pure aggregation +
210
+ IO-isolated reader, mirroring the template-fidelity pattern.
211
+ - **Gated by design.** The harvester only READS; it writes nothing to a behavior
212
+ surface (routing, personas, mantra thresholds). Every proposal carries
213
+ `gated: true` and is surfaced for a human to ratify — an agent that rewrote its
214
+ own routing on a heuristic would be the silent-downgrade BYAN exists to prevent.
215
+ - **Skill** `byan-insight` presents the digest as a gated improvement proposal
216
+ (observe, propose, human ratifies), consistent with the advisory ELO /
217
+ suitability doctrine.
218
+ - **Guard false-positive fix.** `tool-failure-guard` flagged any tool whose result
219
+ echoed the literal phrase "internal error" as a failure, exempting only
220
+ Write/Edit/Read. Bash (diagnostic stdout) and MCP tools (echoed stored data) now
221
+ join the echo-heavy set: their `is_error` flag is trusted, content patterns are
222
+ not. A genuine failure still sets `is_error`. Caught live (a Bash log-grep
223
+ blocked the session twice) and covered by unit + e2e tests.
224
+ - 43 harvester unit tests + the detector tests; the e2e guard tests moved their
225
+ content-pattern cases onto a non-echo tool. The tool and skill ship in the
226
+ template.
227
+
228
+ ### Changed - Closed the fused-route and output-folder legacy debts
229
+
230
+ - Removed the dead parallel router `src/core/dispatcher/execution-router.js` (zero
231
+ live consumers) and its test; the routing docs (`workers.md`,
232
+ `feature-workflow.md`) and the loadbalancer architecture comment now point only
233
+ to `byan_dispatch` and its two-axis model (strategy from score, model tier from
234
+ nature).
235
+ - Standardized the documented output folder from the legacy `_bmad-output/` to the
236
+ runtime's `_byan-output/` across the agent and platform docs plus an inert config
237
+ default. Left untouched on purpose: the deliberate back-compat read in
238
+ `agent-packager.js` (recovers agent creations from older installs under
239
+ `_bmad-output/bmb-creations`), the migration guides, and the anti-regression
240
+ tests that assert the old name is gone.
241
+
12
242
  ## [2.23.0] - 2026-06-09
13
243
 
14
244
  ### Added - Stub path normalizer + a 5th pre-commit gate (no _bmad/@bmad drift)
package/README.md CHANGED
@@ -69,7 +69,7 @@ Diversifier les personas elargit la surface de competence collective.
69
69
 
70
70
  - Node.js >= 12.0.0
71
71
  - npm >= 6.0.0
72
- - Un compte GitHub Copilot, Claude Code ou Codex (selon la plateforme cible)
72
+ - Un compte Claude Code ou Codex (selon la plateforme cible)
73
73
 
74
74
  ### Installation rapide (recommandée)
75
75
 
@@ -89,7 +89,7 @@ L'installeur (Yanstaller) vous guide interactivement à travers le processus :
89
89
  ```
90
90
  ? Nom du projet : mon-projet
91
91
  ? Langue de communication : Francais
92
- ? Plateforme cible : GitHub Copilot CLI
92
+ ? Plateforme cible : Claude Code
93
93
  ? Activer le fact-check scientifique ? [Y/n]
94
94
  ? Activer le système ELO de confiance ? [Y/n]
95
95
  ? Optimiser les coûts LLM automatiquement (~54% d'économies) ? [Y/n]
@@ -108,7 +108,6 @@ votre-projet/
108
108
  workflows/ # Workflows guidés
109
109
  knowledge/ # Base de connaissances sources (axiomes, benchmarks)
110
110
  config.yaml # Configuration principale (langue, utilisateur, chemins)
111
- .github/agents/ # Wrappers GitHub Copilot CLI
112
111
  .claude/ # Intégration Claude Code (si activée)
113
112
  .codex/ # Intégration Codex/OpenCode (si activée)
114
113
  bin/byan-v2-cli.js # CLI BYAN
@@ -164,7 +163,7 @@ const ctx = byan.getClaimContext('security');
164
163
  console.log('Scaffold level :', ctx.scaffoldLevel);
165
164
  ```
166
165
 
167
- ### Activer les agents dans GitHub Copilot CLI
166
+ ### Activer les agents dans Claude Code ou Codex
168
167
 
169
168
  Une fois installé, les agents sont disponibles via `@agent-name` :
170
169
 
@@ -183,7 +182,7 @@ Une fois installé, les agents sont disponibles via `@agent-name` :
183
182
 
184
183
  ## Liste des Agents Disponibles
185
184
 
186
- BYAN contient **27 agents spécialisés** organisés en **5 modules** :
185
+ BYAN contient **26 agents spécialisés** organisés en **5 modules** :
187
186
 
188
187
  ### Core — Fondation de la Plateforme
189
188
 
@@ -203,7 +202,6 @@ BYAN contient **27 agents spécialisés** organisés en **5 modules** :
203
202
  | **agent-builder** | Bond | Expert en construction d'agents BMAD-compliant | Construire un agent complexe manuellement |
204
203
  | **module-builder** | Morgan | Architecte de modules BYAN complets | Créer un nouveau module métier |
205
204
  | **workflow-builder** | Wendy | Designer de workflows guidés | Concevoir un processus multi-étapes |
206
- | **marc** | Spécialiste | Intégration GitHub Copilot CLI | Déployer des agents sur Copilot |
207
205
  | **rachid** | Spécialiste | Déploiement npm/npx | Publier un package BYAN |
208
206
  | **carmack** | Optimiseur | Optimisation tokens (-46%) | Réduire le coût d'utilisation des agents |
209
207
  | **patnote** | Gestionnaire | Mises à jour BYAN et résolution de conflits | Mettre à jour un projet BYAN existant |
@@ -274,7 +272,7 @@ Un agent est un spécialiste IA avec une identité définie. Il possède :
274
272
  - **Rules** : les contraintes absolues qu'il ne peut pas violer (les 71 mantras)
275
273
  - **Capabilities** : ce qu'il peut faire, ce qu'il ne fait pas
276
274
 
277
- Les agents sont définis en Markdown avec des sections XML. Ils sont stockés dans `_byan/{module}/agents/` et exposés sur chaque plateforme via un wrapper léger (`.github/agents/`, `.claude/`, `.codex/prompts/`).
275
+ Les agents sont définis en Markdown avec des sections XML. Ils sont stockés dans `_byan/{module}/agents/` et exposés sur chaque plateforme via un wrapper léger (`.claude/`, `.codex/prompts/`).
278
276
 
279
277
  ### Workflow
280
278
 
@@ -432,7 +430,7 @@ Domaines stricts : `security` / `performance` / `compliance` → LEVEL-2 minimum
432
430
 
433
431
  Mode d'enforcement qui empêche l'agent de livrer moins que demandé (un MVP au
434
432
  lieu de l'app prod, un stub au lieu de la feature, un template baclé). Actif sur
435
- les **3 plateformes** : Claude Code, Codex, GitHub Copilot.
433
+ les **2 plateformes** : Claude Code, Codex.
436
434
 
437
435
  ```
438
436
  1. Lock du scope byan_strict_lock_scope (scope verbatim + critères testables)
@@ -442,8 +440,8 @@ les **3 plateformes** : Claude Code, Codex, GitHub Copilot.
442
440
  ```
443
441
 
444
442
  Le commit est **bloqué** par un filet pre-commit tant que la session strict
445
- engagée n'est pas complétée correctement — y compris pour Codex et Copilot qui
446
- n'ont pas de hook in-session. Source de vérité unique :
443
+ engagée n'est pas complétée correctement — y compris pour Codex qui
444
+ n'a pas de hook in-session. Source de vérité unique :
447
445
  `_byan/_config/strict-mode.yaml`, régénérée via `byan-sync-rules`.
448
446
 
449
447
  Activation : `byan_fd_start strict:true`, skill `byan-strict`, ou auto-détection
@@ -466,7 +464,7 @@ sur mots-clés (`prod`, `client`, `livrable`, `contrat`, `release`...).
466
464
  | `testarch-atdd` | Générer des tests ATDD avant implémentation | tea |
467
465
  | `fact-check` | Analyser une assertion ou un document | fact-checker |
468
466
  | `elo-workflow` | Consulter et gérer le score de confiance ELO | byan |
469
- | `byan-sync-rules` | Régénérer les artefacts du mode strict (3 plateformes) | byan |
467
+ | `byan-sync-rules` | Régénérer les artefacts du mode strict (2 plateformes) | byan |
470
468
 
471
469
  ---
472
470
 
@@ -474,7 +472,6 @@ sur mots-clés (`prod`, `client`, `livrable`, `contrat`, `release`...).
474
472
 
475
473
  | Plateforme | Invocation | Chemin de config |
476
474
  |------------|-----------|------------------|
477
- | GitHub Copilot CLI | `@agent-name` | `.github/agents/*.md` |
478
475
  | Claude Code | `@agent-name` | `.claude/rules/*.md` |
479
476
  | Codex / OpenCode | `@agent-name` | `.codex/prompts/*.md` |
480
477
  | CLI direct | `node bin/byan-v2-cli.js` | `_byan/config.yaml` |