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.
- package/CHANGELOG.md +230 -0
- package/README.md +9 -12
- package/install/bin/create-byan-agent-v2.js +29 -169
- package/install/lib/agent-generator.js +5 -5
- package/install/lib/byan-web-integration.js +1 -1
- package/install/lib/claude-native-setup.js +1 -1
- package/install/lib/phase2-chat.js +3 -10
- package/install/lib/platforms/claude-code.js +2 -2
- package/install/lib/platforms/index.js +0 -2
- package/install/lib/project-agents-generator.js +3 -3
- package/install/lib/staging-consent.js +3 -3
- package/install/lib/subagent-generator.js +3 -3
- package/install/lib/yanstaller/agent-launcher.js +1 -27
- package/install/lib/yanstaller/detector.js +4 -4
- package/install/lib/yanstaller/installer.js +0 -2
- package/install/lib/yanstaller/interviewer.js +1 -1
- package/install/lib/yanstaller/platform-selector.js +1 -13
- package/install/package.json +1 -1
- package/install/src/byan-v2/context/session-state.js +2 -2
- package/install/src/byan-v2/index.js +2 -6
- package/install/src/byan-v2/orchestrator/generation-state.js +4 -4
- package/install/src/webui/api.js +0 -2
- package/install/src/webui/chat/bridge.js +1 -13
- package/install/src/webui/chat/cli-detector.js +0 -23
- package/install/src/webui/public/app.js +1 -3
- package/install/src/webui/public/chat.html +0 -2
- package/install/src/webui/public/chat.js +0 -1
- package/install/src/webui/public/index.html +2 -2
- package/install/templates/.claude/CLAUDE.md +13 -2
- package/install/templates/.claude/agents/bmad-byan.md +1 -1
- package/install/templates/.claude/hooks/autobench-stop-guard.js +286 -0
- package/install/templates/.claude/hooks/drain-advisory.js +85 -0
- package/install/templates/.claude/hooks/fact-check-absolutes.js +1 -61
- package/install/templates/.claude/hooks/fact-check-claims.js +69 -0
- package/install/templates/.claude/hooks/fd-response-check.js +37 -46
- package/install/templates/.claude/hooks/inject-soul.js +64 -25
- package/install/templates/.claude/hooks/leantime-fd-sync.js +216 -0
- package/install/templates/.claude/hooks/lib/autobench-config.json +81 -0
- package/install/templates/.claude/hooks/lib/autobench-fc-enrich.js +251 -0
- package/install/templates/.claude/hooks/lib/autobench-ledger-report.js +253 -0
- package/install/templates/.claude/hooks/lib/autobench-runtime.js +199 -0
- package/install/templates/.claude/hooks/lib/fact-check-core.js +69 -0
- package/install/templates/.claude/hooks/lib/failure-detector.js +18 -4
- package/install/templates/.claude/hooks/lib/transcript-read.js +137 -0
- package/install/templates/.claude/hooks/soul-memory-check.js +49 -25
- package/install/templates/.claude/hooks/soul-memory-triggers.js +27 -8
- package/install/templates/.claude/hooks/stage-to-byan.js +25 -7
- package/install/templates/.claude/hooks/strict-stop-guard.js +4 -16
- package/install/templates/.claude/rules/benchmark.md +251 -0
- package/install/templates/.claude/rules/byan-agents.md +0 -1
- package/install/templates/.claude/rules/byan-api.md +64 -0
- package/install/templates/.claude/rules/fact-check.md +1 -1
- package/install/templates/.claude/rules/strict-mode.md +10 -9
- package/install/templates/.claude/settings.json +16 -0
- package/install/templates/.claude/skills/byan-benchmark/SKILL.md +159 -0
- package/install/templates/.claude/skills/byan-byan/SKILL.md +73 -12
- package/install/templates/.claude/skills/byan-fact-check/SKILL.md +1 -1
- package/install/templates/.claude/skills/byan-hermes-dispatch/SKILL.md +5 -6
- package/install/templates/.claude/skills/byan-insight/SKILL.md +56 -0
- package/install/templates/.claude/skills/byan-orchestrate/SKILL.md +11 -3
- package/install/templates/.claude/skills/byan-strict/SKILL.md +4 -1
- package/install/templates/.claude/workflows/INDEX.md +2 -1
- package/install/templates/.claude/workflows/byan-benchmark.js +328 -0
- package/install/templates/.claude/workflows/check-implementation-readiness.js +1 -1
- package/install/templates/_byan/_config/agent-manifest.csv +1 -1
- package/install/templates/_byan/_config/autobench.yaml +510 -0
- package/install/templates/_byan/_config/strict-mode.yaml +9 -3
- package/install/templates/_byan/_config/workflow-manifest.csv +1 -0
- package/install/templates/_byan/agent/byan/byan.md +1 -3
- package/install/templates/_byan/agent/byan-flat/byan.md +1 -3
- package/install/templates/_byan/agent/byan-test/byan-test.md +2 -2
- package/install/templates/_byan/agent/byan-test-flat/byan-test.md +2 -2
- package/install/templates/_byan/agent/byan.optimized/byan.optimized.md +2 -2
- package/install/templates/_byan/agent/byan.optimized-v2/byan.optimized-v2.md +2 -2
- package/install/templates/_byan/agent/claude/claude.md +0 -2
- package/install/templates/_byan/agent/codex/codex.md +0 -2
- package/install/templates/_byan/agent/rachid/rachid.md +2 -10
- package/install/templates/_byan/agent/rachid-flat/rachid.md +2 -11
- package/install/templates/_byan/agent/turbo-whisper/turbo-whisper.md +2 -5
- package/install/templates/_byan/agent/turbo-whisper-integration/turbo-whisper-integration.md +5 -13
- package/install/templates/_byan/agent/yanstaller/yanstaller.md +2 -24
- package/install/templates/_byan/config.yaml +0 -1
- package/install/templates/_byan/core/activation/soul-activation.md +3 -3
- package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-insight-digest.js +31 -0
- package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-sync-rules.js +20 -4
- package/install/templates/_byan/mcp/byan-mcp-server/lib/advisory-autofeed.js +96 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/index-generator.js +1 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/insight-harvest.js +220 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/kanban.js +6 -3
- package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-fd-core.js +205 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-sync.js +415 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/outcome-buffer.js +64 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/precommit-gate.js +1 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/strict-activation.js +1 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/strict-mode.js +8 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/sync-rules.js +172 -23
- package/install/templates/_byan/mcp/byan-mcp-server/lib/workflows-generator.js +1 -0
- package/install/templates/_byan/mcp/byan-mcp-server/server.js +262 -81
- package/install/templates/_byan/worker/launchers/README.md +4 -24
- package/install/templates/_byan/worker/workers.md +8 -9
- package/install/templates/_byan/workflow/simple/bmb/byan-benchmark/workflow.md +86 -0
- package/install/templates/_byan/workflow/simple/byan/feature-workflow.md +2 -2
- package/install/templates/docs/leantime-integration.md +160 -0
- package/package.json +3 -7
- package/src/byan-v2/context/session-state.js +2 -2
- package/src/byan-v2/generation/mantra-validator.js +3 -3
- package/src/byan-v2/index.js +1 -5
- package/src/byan-v2/integration/voice-integration.js +1 -1
- package/src/byan-v2/orchestrator/generation-state.js +4 -4
- package/src/loadbalancer/loadbalancer.js +1 -1
- package/src/staging/staging.js +20 -6
- package/install/bin/build-copilot-stubs.js +0 -138
- package/install/lib/platforms/copilot-cli.js +0 -123
- package/install/lib/platforms/vscode.js +0 -51
- package/install/src/byan-v2/context/copilot-context.js +0 -79
- package/install/src/webui/chat/copilot-adapter.js +0 -68
- package/install/templates/.claude/agents/bmad-marc.md +0 -25
- package/install/templates/.claude/skills/byan-marc/SKILL.md +0 -20
- package/install/templates/.github/agents/bmad-agent-bmad-master.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmb-agent-builder.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmb-module-builder.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmb-workflow-builder.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-analyst.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-architect.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-dev.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-pm.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-quinn.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-sm.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-tech-writer.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-ux-designer.md +0 -16
- package/install/templates/.github/agents/bmad-agent-byan-test.md +0 -33
- package/install/templates/.github/agents/bmad-agent-byan-v2.md +0 -44
- package/install/templates/.github/agents/bmad-agent-byan.md +0 -1062
- package/install/templates/.github/agents/bmad-agent-carmack.md +0 -14
- package/install/templates/.github/agents/bmad-agent-cis-brainstorming-coach.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-creative-problem-solver.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-design-thinking-coach.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-innovation-strategist.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-presentation-master.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-storyteller.md +0 -16
- package/install/templates/.github/agents/bmad-agent-claude.md +0 -49
- package/install/templates/.github/agents/bmad-agent-codex.md +0 -49
- package/install/templates/.github/agents/bmad-agent-drawio.md +0 -45
- package/install/templates/.github/agents/bmad-agent-fact-checker.md +0 -16
- package/install/templates/.github/agents/bmad-agent-forgeron.md +0 -15
- package/install/templates/.github/agents/bmad-agent-jimmy.md +0 -15
- package/install/templates/.github/agents/bmad-agent-marc.md +0 -49
- package/install/templates/.github/agents/bmad-agent-mike.md +0 -15
- package/install/templates/.github/agents/bmad-agent-patnote.md +0 -49
- package/install/templates/.github/agents/bmad-agent-rachid.md +0 -48
- package/install/templates/.github/agents/bmad-agent-skeptic.md +0 -16
- package/install/templates/.github/agents/bmad-agent-tao.md +0 -14
- package/install/templates/.github/agents/bmad-agent-tea-tea.md +0 -16
- package/install/templates/.github/agents/bmad-agent-test-dynamic.md +0 -22
- package/install/templates/.github/agents/bmad-agent-yanstaller-interview.md +0 -50
- package/install/templates/.github/agents/bmad-agent-yanstaller-phase2.md +0 -189
- package/install/templates/.github/agents/bmad-agent-yanstaller.md +0 -350
- package/install/templates/.github/agents/expert-merise-agile.md +0 -178
- package/install/templates/.github/agents/franck.md +0 -379
- package/install/templates/.github/agents/hermes.md +0 -575
- package/install/templates/.github/extensions/byan-staging/extension.mjs +0 -169
- package/install/templates/.github/extensions/byan-staging/package.json +0 -8
- package/install/templates/_byan/agent/marc/marc-soul.md +0 -47
- package/install/templates/_byan/agent/marc/marc-tao.md +0 -77
- package/install/templates/_byan/agent/marc/marc.md +0 -324
- package/install/templates/_byan/agent/marc-flat/marc.md +0 -387
- package/install/templates/_byan/mcp/byan-mcp-server/lib/copilot.js +0 -148
- package/install/templates/_byan/worker/launchers/launch-yanstaller-copilot.md +0 -173
- package/install/templates/workers/cost-optimizer.js +0 -169
- package/src/byan-v2/context/copilot-context.js +0 -79
- 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
|
|
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 :
|
|
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
|
|
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 **
|
|
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 (`.
|
|
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 **
|
|
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
|
|
446
|
-
n'
|
|
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 (
|
|
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` |
|