baldart 4.84.0 → 4.86.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 +30 -0
- package/VERSION +1 -1
- package/framework/templates/primitives/AGENTS.CHANGELOG.md +30 -0
- package/framework/templates/primitives/AGENTS.md +28 -2
- package/framework/templates/primitives/CLAUDE.CHANGELOG.md +6 -0
- package/framework/templates/primitives/CLAUDE.md +4 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,36 @@ 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.86.0] - 2026-07-01
|
|
9
|
+
|
|
10
|
+
**AGENTS.md primitive regains the universal working-discipline rules (primitive `1.2.0`).** The lean v4.83.0 rewrite of the skeleton dropped a handful of everyday-habit MUSTs to stay short — but those are exactly the "conventions an agent can't infer and gets wrong" the file exists to carry. Restored as compact, stack-agnostic rules in the `AGENTS.md` skeleton (the cross-tool SSOT):
|
|
11
|
+
|
|
12
|
+
- **File navigation**: MUST find real paths via Glob/Grep before reading — never guess a path from naming conventions.
|
|
13
|
+
- **Investigation before claiming**: check git history (`git log --all --grep`) + the actual source before asserting a feature does or does not exist.
|
|
14
|
+
- **Implementation completeness**: MUST verify every plan item / acceptance criterion is wired and functional before marking work DONE — cross-check against the code, not the intent.
|
|
15
|
+
- **Testing convention** (Workflow Gates): when a test fails, fix the *code* not the test (unless the test is wrong); for a new feature, write the failing test first.
|
|
16
|
+
|
|
17
|
+
**MINOR** — enriches shipped skeleton content; no config key, no CLI/layout change; contamination-clean (no project tokens). Consumers pick it up on the next `npx baldart update` (byte-stable on everything else; adopted overlays untouched). `primitive_version` (AGENTS) 1.1.0 → 1.2.0; CLAUDE stub unchanged (1.1.0).
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- **`framework/templates/primitives/AGENTS.md`** — added the file-navigation + investigation + implementation-completeness MUSTs and the testing convention in Workflow Gates. `primitive_version` → 1.2.0.
|
|
22
|
+
- **`framework/templates/primitives/AGENTS.CHANGELOG.md`** — `1.2.0` entry.
|
|
23
|
+
|
|
24
|
+
## [4.85.0] - 2026-07-01
|
|
25
|
+
|
|
26
|
+
**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).
|
|
27
|
+
|
|
28
|
+
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.
|
|
29
|
+
|
|
30
|
+
**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.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- **`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.
|
|
35
|
+
- **`framework/templates/primitives/CLAUDE.md`** — Plan Mode delegation now names `coder` (code) + `ui-expert` (UI) + `doc-reviewer` (docs). `primitive_version` → 1.1.0.
|
|
36
|
+
- **`framework/templates/primitives/AGENTS.CHANGELOG.md` + `CLAUDE.CHANGELOG.md`** — `1.1.0` entries.
|
|
37
|
+
|
|
8
38
|
## [4.84.0] - 2026-07-01
|
|
9
39
|
|
|
10
40
|
**`/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.
|
|
1
|
+
4.86.0
|
|
@@ -4,6 +4,36 @@ 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.2.0 — 2026-07-01
|
|
8
|
+
|
|
9
|
+
- Restored the universal **working-discipline** rules the lean v1.0.0 rewrite had dropped
|
|
10
|
+
(they prevent concrete, recurring failures and are exactly the "conventions an agent
|
|
11
|
+
can't infer" the file should carry):
|
|
12
|
+
- MUST find real paths via Glob/Grep before reading — never guess from naming; check git
|
|
13
|
+
history + source before claiming a feature exists or not.
|
|
14
|
+
- MUST verify every plan item / acceptance criterion is wired + functional before DONE
|
|
15
|
+
(cross-check against code, not intent).
|
|
16
|
+
- Testing convention in Workflow Gates: fix the **code** not the test (unless the test is
|
|
17
|
+
wrong); for a new feature, write the failing test first.
|
|
18
|
+
- All stack-agnostic; no project tokens (contamination-clean).
|
|
19
|
+
|
|
20
|
+
## 1.1.0 — 2026-07-01
|
|
21
|
+
|
|
22
|
+
- **Implementation-delegation MUST**: plan-and-delegate, never write substantial code
|
|
23
|
+
inline — **code/logic/tests → `coder`**, **UI → `ui-expert`** (dual-tool: Claude Task
|
|
24
|
+
`subagent_type` / Codex by-name); other agents route via `.claude/agents/REGISTRY.md`.
|
|
25
|
+
Now in the cross-tool SSOT so Codex sees it too (was only weakly in the CLAUDE.md stub).
|
|
26
|
+
- **Universal security hygiene MUST**: no hardcoded secrets, no exposed stack traces, no
|
|
27
|
+
PII in logs, validate/parse external inputs at the boundary.
|
|
28
|
+
- **Quality bar (SHOULD)**: stack-agnostic performance discipline (no unbounded/N+1 list
|
|
29
|
+
reads, Core Web Vitals) + baseline accessibility. Project-specific KPI numbers stay in
|
|
30
|
+
the overlay.
|
|
31
|
+
- **Git Workflow**: explicit worktree isolation — new branch → `/nw`; orchestrator never
|
|
32
|
+
runs `git switch`/`checkout -b`/`branch` on the shared main checkout.
|
|
33
|
+
- Distilled the UNIVERSAL subset of common project rules; stack-specific specifics
|
|
34
|
+
(database/ORM & migration policies, CSS-framework choices, exact KPI numbers, git
|
|
35
|
+
rituals) remain overlay content, never baked into the shipped skeleton.
|
|
36
|
+
|
|
7
37
|
## 1.0.0 — 2026-07-01
|
|
8
38
|
|
|
9
39
|
- 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.
|
|
1
|
+
<!-- baldart-primitive: name=AGENTS primitive_version=1.2.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,13 @@ 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.
|
|
54
|
+
- MUST find real file paths via Glob/Grep before reading — never guess a path from naming
|
|
55
|
+
conventions. Check git history (`git log --all --grep`) and the actual source before
|
|
56
|
+
claiming a feature does or does not exist.
|
|
57
|
+
- MUST verify every plan item / acceptance criterion is wired and functional before marking
|
|
58
|
+
work DONE — cross-check each against the code, not the intent.
|
|
46
59
|
- MUST run the testing gates before DONE (see § Workflow Gates).
|
|
47
60
|
|
|
48
61
|
**Feature-gated (active only when the flag is `true` in `baldart.config.yml`):**
|
|
@@ -72,7 +85,9 @@ mechanics — this file remains the single source of truth for the protocol.
|
|
|
72
85
|
Branch naming: `{{ git.feature_prefix }}/<CARD-ID>-slug` (local), `codex/…` or `claude/…`
|
|
73
86
|
(cloud agents), `hotfix/<ID>-slug` (production fixes). Branches are created by the
|
|
74
87
|
orchestrator (`/nw`, `/new`) or the user — **never by the `coder` agent** (it implements on
|
|
75
|
-
the branch it was spawned on).
|
|
88
|
+
the branch it was spawned on). For a NEW branch, prefer a git **worktree** (`/nw`): the
|
|
89
|
+
orchestrator MUST NOT run `git switch` / `checkout -b` / `branch` on the shared main
|
|
90
|
+
checkout (other sessions share it). Stage explicit filenames only; never bundle unrelated changes.
|
|
76
91
|
|
|
77
92
|
## Workflow Gates
|
|
78
93
|
|
|
@@ -83,6 +98,17 @@ run a full build every commit.
|
|
|
83
98
|
**Pre-PR (once, before opening a PR):** full build (must pass) · unit tests (if they exist) ·
|
|
84
99
|
E2E for critical-flow changes.
|
|
85
100
|
|
|
101
|
+
When a test fails, fix the **code**, not the test — unless the test itself is wrong. For a
|
|
102
|
+
new feature with tests, prefer writing the failing test first, then the minimum code to pass.
|
|
103
|
+
|
|
104
|
+
## Quality bar (SHOULD)
|
|
105
|
+
|
|
106
|
+
- SHOULD respect performance budgets — avoid unbounded or N+1 data access on list paths
|
|
107
|
+
(bound + paginate queries, index hot lookups), and for web UIs keep Core Web Vitals
|
|
108
|
+
healthy (LCP / INP / CLS). Project-specific numeric targets live in the overlay.
|
|
109
|
+
- SHOULD meet baseline accessibility for interactive UI — keyboard navigation, sufficient
|
|
110
|
+
contrast, labelled inputs, alt text on informative images.
|
|
111
|
+
|
|
86
112
|
## Execution Modes
|
|
87
113
|
|
|
88
114
|
| 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.
|
|
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
|
|
23
|
-
Task tool
|
|
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
|
|