baldart 4.84.0 → 4.85.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 CHANGED
@@ -5,6 +5,20 @@ All notable changes to BALDART will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [4.85.0] - 2026-07-01
9
+
10
+ **Root-file primitives gain universal delegation + quality rules (primitive `1.1.0`).** The v4.83.0 skeletons pointed to `.claude/agents/REGISTRY.md` for agent routing but never stated the single highest-frequency rule in the always-loaded file: *which agent writes what*. The `AGENTS.md` primitive (the cross-tool SSOT Codex also reads) now carries a **MUST**: plan-and-delegate, never write substantial code inline — **code / logic / tests → `coder`**, **UI → `ui-expert`** (dual-tool: Claude Task `subagent_type` / Codex custom agent by name; every other agent routes via `REGISTRY.md`). The `CLAUDE.md` stub's Plan Mode names both agents to match (was `coder` only).
11
+
12
+ Alongside it, the **universal, stack-agnostic** subset of rules a mature project accumulates — previously discoverable only after a project authored them by hand — is promoted into the skeleton: a **security-hygiene MUST** (no hardcoded secrets, no exposed stack traces, no PII in logs, validate/parse external inputs), a **Quality bar (SHOULD)** (bound/paginate list queries — no unbounded/N+1 — + Core Web Vitals for web UIs + baseline accessibility), and explicit **worktree isolation** in the Git Workflow (new branch → `/nw`; never `git switch`/`checkout -b`/`branch` on the shared main checkout). **Deliberately NOT promoted** (they stay project overlay, and would trip the contamination scanner): exact KPI numbers, database/ORM specifics, CSS-framework choices, and project-specific git rituals.
13
+
14
+ **MINOR** — enriches the shipped skeleton's protocol content; no new `baldart.config.yml` key, no layout/CLI change. Consumers pick it up on the next `npx baldart update` (the writer regenerates `AGENTS.md`/`CLAUDE.md`, byte-stable on everything else). `primitive_version` 1.0.0 → 1.1.0.
15
+
16
+ ### Changed
17
+
18
+ - **`framework/templates/primitives/AGENTS.md`** — added the implementation-delegation MUST (`coder`/`ui-expert`), the security-hygiene MUST, a `## Quality bar (SHOULD)` section (performance + accessibility), and worktree isolation in Git Workflow. `primitive_version` → 1.1.0.
19
+ - **`framework/templates/primitives/CLAUDE.md`** — Plan Mode delegation now names `coder` (code) + `ui-expert` (UI) + `doc-reviewer` (docs). `primitive_version` → 1.1.0.
20
+ - **`framework/templates/primitives/AGENTS.CHANGELOG.md` + `CLAUDE.CHANGELOG.md`** — `1.1.0` entries.
21
+
8
22
  ## [4.84.0] - 2026-07-01
9
23
 
10
24
  **`/ds-handoff` decision & preference pass — anticipa le domande di Claude Design invece di rimandargliele.** Il prompt field-level di `ds-handoff` copriva un solo asse (correttezza dei *campi* via field-extraction + coverage gate) e lasciava scoperto il **secondo asse — le decisioni di design aperte + le preferenze di consegna** — che è esattamente ciò su cui Claude Design rimanda le domande all'utente (nel caso reale "Hub fornitore", 6 domande su 6 erano su questo asse, zero sui campi). Una era **auto-inflitta** (il PRD diceva *"da proporre"* e la skill l'ha inoltrata testualmente), un'altra su un fatto **già in mano alla skill** (enum categoria con `color`) mai tradotto in istruzione.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 4.84.0
1
+ 4.85.0
@@ -4,6 +4,23 @@ Formato: [Keep a Changelog](https://keepachangelog.com/) · [SemVer](https://sem
4
4
  Questo è il changelog INTERNO dello skeleton spedito (`primitive_version`), separato dal
5
5
  file `AGENTS.md` generato nel consumer e indipendente dal `VERSION` del framework.
6
6
 
7
+ ## 1.1.0 — 2026-07-01
8
+
9
+ - **Implementation-delegation MUST**: plan-and-delegate, never write substantial code
10
+ inline — **code/logic/tests → `coder`**, **UI → `ui-expert`** (dual-tool: Claude Task
11
+ `subagent_type` / Codex by-name); other agents route via `.claude/agents/REGISTRY.md`.
12
+ Now in the cross-tool SSOT so Codex sees it too (was only weakly in the CLAUDE.md stub).
13
+ - **Universal security hygiene MUST**: no hardcoded secrets, no exposed stack traces, no
14
+ PII in logs, validate/parse external inputs at the boundary.
15
+ - **Quality bar (SHOULD)**: stack-agnostic performance discipline (no unbounded/N+1 list
16
+ reads, Core Web Vitals) + baseline accessibility. Project-specific KPI numbers stay in
17
+ the overlay.
18
+ - **Git Workflow**: explicit worktree isolation — new branch → `/nw`; orchestrator never
19
+ runs `git switch`/`checkout -b`/`branch` on the shared main checkout.
20
+ - Distilled the UNIVERSAL subset of common project rules; stack-specific specifics
21
+ (database/ORM & migration policies, CSS-framework choices, exact KPI numbers, git
22
+ rituals) remain overlay content, never baked into the shipped skeleton.
23
+
7
24
  ## 1.0.0 — 2026-07-01
8
25
 
9
26
  - Primo skeleton SOTA cross-tool (framework v4.83.0). Sostituisce il bulk symlink di
@@ -1,4 +1,4 @@
1
- <!-- baldart-primitive: name=AGENTS primitive_version=1.0.0
1
+ <!-- baldart-primitive: name=AGENTS primitive_version=1.1.0
2
2
  This is the SHIPPED SKELETON. The writer (src/utils/root-primitives.js) strips
3
3
  this banner, resolves every {{ slot }} / {{> partial }} / {{#flag}} from
4
4
  baldart.config.yml (+ package.json/README), merges .baldart/overlays/AGENTS.md,
@@ -28,6 +28,12 @@ mechanics — this file remains the single source of truth for the protocol.
28
28
  (Claude Code: Task tool `subagent_type: codebase-architect`; Codex: the custom agent by
29
29
  name at `.codex/agents/codebase-architect.toml`). Only if NEITHER mechanism exists,
30
30
  degrade explicitly to inline retrieval (code-graph → LSP → Grep) and SAY SO.
31
+ - MUST delegate implementation to the domain agent — plan and delegate, do NOT write
32
+ substantial code inline: **code / logic / tests → `coder`**; **UI (components, pages,
33
+ styling, visual output) → `ui-expert`**. Same dual-tool invocation as `codebase-architect`
34
+ (Claude Code: Task tool `subagent_type`; Codex: custom agent by name). Every other agent
35
+ (code-reviewer, doc-reviewer, qa-sentinel, security-reviewer, …) routes via
36
+ `.claude/agents/REGISTRY.md`.
31
37
  - MUST NOT silently substitute a different agent when an invocation returns empty / times
32
38
  out / is denied — STOP, report verbatim, and wait. Never auto-route to a generic agent.
33
39
  - MUST NOT work on files another agent has claimed; parallel work only on independent areas.
@@ -43,6 +49,8 @@ mechanics — this file remains the single source of truth for the protocol.
43
49
  directly to `{{ git.trunk_branch }}` — all changes reach it via PR.
44
50
  - MUST get owner approval before force-push/reset or deleting an UNMERGED branch (create a
45
51
  `backup/<YYYYMMDD>-<reason>` tag first). Deleting an already-merged branch is routine.
52
+ - MUST NOT hardcode secrets / tokens / API keys (env vars only), expose internal stack
53
+ traces in responses, or log PII. Validate & parse every external / user input at the boundary.
46
54
  - MUST run the testing gates before DONE (see § Workflow Gates).
47
55
 
48
56
  **Feature-gated (active only when the flag is `true` in `baldart.config.yml`):**
@@ -72,7 +80,9 @@ mechanics — this file remains the single source of truth for the protocol.
72
80
  Branch naming: `{{ git.feature_prefix }}/<CARD-ID>-slug` (local), `codex/…` or `claude/…`
73
81
  (cloud agents), `hotfix/<ID>-slug` (production fixes). Branches are created by the
74
82
  orchestrator (`/nw`, `/new`) or the user — **never by the `coder` agent** (it implements on
75
- the branch it was spawned on). Stage explicit filenames only; never bundle unrelated changes.
83
+ the branch it was spawned on). For a NEW branch, prefer a git **worktree** (`/nw`): the
84
+ orchestrator MUST NOT run `git switch` / `checkout -b` / `branch` on the shared main
85
+ checkout (other sessions share it). Stage explicit filenames only; never bundle unrelated changes.
76
86
 
77
87
  ## Workflow Gates
78
88
 
@@ -83,6 +93,14 @@ run a full build every commit.
83
93
  **Pre-PR (once, before opening a PR):** full build (must pass) · unit tests (if they exist) ·
84
94
  E2E for critical-flow changes.
85
95
 
96
+ ## Quality bar (SHOULD)
97
+
98
+ - SHOULD respect performance budgets — avoid unbounded or N+1 data access on list paths
99
+ (bound + paginate queries, index hot lookups), and for web UIs keep Core Web Vitals
100
+ healthy (LCP / INP / CLS). Project-specific numeric targets live in the overlay.
101
+ - SHOULD meet baseline accessibility for interactive UI — keyboard navigation, sufficient
102
+ contrast, labelled inputs, alt text on informative images.
103
+
86
104
  ## Execution Modes
87
105
 
88
106
  | Mode | Branch | Validation |
@@ -4,6 +4,12 @@ Formato: [Keep a Changelog](https://keepachangelog.com/) · [SemVer](https://sem
4
4
  Changelog INTERNO dello stub spedito (`primitive_version`), separato dal `CLAUDE.md`
5
5
  generato nel consumer e indipendente dal `VERSION` del framework.
6
6
 
7
+ ## 1.1.0 — 2026-07-01
8
+
9
+ - Plan Mode delegation now names **both** domain agents — **code → `coder`**, **UI →
10
+ `ui-expert`** (was `coder` only) — plus `doc-reviewer` for full docs/SSOT. Mirrors the
11
+ new cross-tool delegation MUST in the AGENTS.md primitive.
12
+
7
13
  ## 1.0.0 — 2026-07-01
8
14
 
9
15
  - Primo stub Claude-native (framework v4.83.0). BALDART inizia a spedire `CLAUDE.md`.
@@ -1,4 +1,4 @@
1
- <!-- baldart-primitive: name=CLAUDE primitive_version=1.0.0
1
+ <!-- baldart-primitive: name=CLAUDE primitive_version=1.1.0
2
2
  SHIPPED SKELETON. The writer strips this banner, resolves {{ slot }}/{{#flag}} from
3
3
  baldart.config.yml, merges .baldart/overlays/CLAUDE.md, stamps a baldart-generated
4
4
  marker, and writes the result to the repo root.
@@ -19,8 +19,9 @@ SSOT, not restated here. Below are the **Claude-native mechanics only**.
19
19
  - Invoke `codebase-architect` before writing the plan — never plan blind.
20
20
  - Launch `plan-auditor` + `doc-reviewer` in parallel to review the plan, incorporate their
21
21
  feedback, and state inside the plan that the review gate was honored, BEFORE `ExitPlanMode`.
22
- - Wait for explicit user approval, then delegate implementation to the `coder` agent (via the
23
- Task tool). The `coder` writes code + minimal doc stubs only.
22
+ - Wait for explicit user approval, then delegate implementation to the domain agent via the
23
+ Task tool **code / logic / tests → `coder`**, **UI → `ui-expert`**. Each writes code +
24
+ minimal doc stubs only; full docs / SSOT sync go to `doc-reviewer`.
24
25
 
25
26
  ## User Interaction (Claude-native, ABSOLUTE)
26
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "baldart",
3
- "version": "4.84.0",
3
+ "version": "4.85.0",
4
4
  "description": "Claude Agent Framework - Reusable framework for coordinating AI agents and humans in software projects",
5
5
  "bin": {
6
6
  "baldart": "./bin/baldart.js"