`ADHOC-YYYY-MM-DD` is unique per date but not per repository, so any two repos
opening an ad-hoc on the same day collide. The 2026-08-26 fleet projection
reset refused 9 records for exactly this reason.
Canon (work-record-types_v0.1, CUST-WP-0066) settled the form as
`{PREFIX}-WP-ADHOC-YYYY-MM-DD`, filename unchanged, and grandfathered existing
ids on the condition they are never *silently* re-derived. This is the explicit
migration that clause allows for.
The hub id is derived from the record id, so a changed id is a different
record: stale state_hub_*_id fields are dropped and fix-consistency re-derives.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
A missing newline fused the closing delimiter onto the last frontmatter value,
or fused a value onto the following key. Either way the frontmatter never
terminates and the whole body is swallowed.
Because workplan files are selected by 'type: workplan', such a file is not
invalid but invisible: it appears in no projection, raises no error, and is
reported as neither a workplan nor a problem. A forge-derived reset would read
its correct hub record as no longer deriving and propose retiring live work.
Only the missing newline is inserted; no value is altered.
Refs STATE-WP-0083-T08
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
A repo-wide re-key overwrote the identifiers of eight workplans that were
correctly registered, breaking their link to the live records. Restored by
matching the canonical record id against central's slugs.
Re-keying is only safe for records central does not hold.
Refs CUST-WP-0068-T06
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
These workplans carried random pre-ADR-007 identifiers minted by the retired
local hub. Central never held them, so C-06 refused them as stale references —
which also blocked minting for every other workplan in the repo.
Deriving the identifier from the canonical record id (ADR-007 decision 2) takes
no identity from anything: the records do not exist on central and the old ids
live only in the dying cache.
Refs CUST-WP-0068-T06
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Drafted by prj-state-hub-retirement from the estate-wide gitea sweep.
kaizen-agentic appears to be the only repo that never migrated off the gitea
PyPI index, which dies with CoulombCore on 2026-08-31. The Makefile publishes
there and six documents instruct users to install from it.
The workplan's one structural rule is publish-before-repoint: changing the docs
first points users at a 404 instead of a soon-to-be-404, and today's
instructions at least work.
Proposed and unapplied — the packaging decisions belong to this repo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Absorb railiance01 pilot supplier notes into the forward-deployed engagement
playbook, accept ADR-007 elevating DEC-FDA-001, promote architecture and
business model to v1.0, and mark KAIZEN-WP-0009 finished.
Add close_session helpers and CLI to append vault session logs, engagement-
scoped metrics, duty Kai charges, and client reports. Rejects sensitive
summaries. Pilot smoke-closed once; prepare points operators at close-session.
Add kaizen-agentic engagement subcommands (list, show, validate, checklist,
phase, prepare, staff, quote, scrub, export-handoff) backed by engagement.py
for file-based pilot lifecycle. Tests cover staff/validate/phase/prepare and
the railiance01 pilot smoke path.
Lock DEC-FDA-001 working defaults; add roles/host-operator package with
OS/security and load protocols; scaffold eng-coulomb-railiance01-ho-001
with bound agent, vault, ramp checklists, and Kai quote/ledger.
Add Kai trial-currency business model and engagement architecture
(request → bound agent → ramp-up/down, client vault). Register workplan
KAIZEN-WP-0009 for host-operator@railiance01 pilot and CLI/ledger phases.
- Align agent files with on-disk workplan prefixes (infer from workplan ids)
- Set workplan domain to registered domain_slug; add topic_slug where applicable
- Repair frontmatter delimiter formatting; migrate legacy task status literals
- Regenerate AGENTS.md, CLAUDE.md, and .claude/rules from State Hub templates
Publish activity-core EventEnvelope payloads to NATS subject
activity.kaizen.metrics.recorded after a successful append.
Optional nats-py via kaizen-agentic[events]; project slug from
KAIZEN_PROJECT_SLUG or directory basename. Skips emit on
idempotency duplicates. Closes KAIZEN-WP-0008 T03.
New authoring tooling and a fix for the doc-regeneration defect it exposed.
Added:
- src/kaizen_agentic/agent_docs.py — render + idempotent upsert of the
CLAUDE.md "## Installed Agents" section (shared by installer and CLI)
- `kaizen-agentic docs generate [--check]` — idempotent doc refresh / CI gate
- `kaizen-agentic create-agent` — scaffold a schema-valid agent
- Frontmatter schema validation in `kaizen-agentic validate`
(required name/description/category, known category, valid memory/model)
- tests: test_agent_docs, test_validate_schema, test_create_agent
Fixed:
- _update_documentation regex duplicated the Installed Agents block on every
run (stopped at the first ### subheading) — now idempotent
- declared frontmatter `category` is authoritative (heuristic is fallback)
- list_installed_agents reads the frontmatter name, not the filename
- renamed agent-project-management.md -> agent-project-assistant.md to satisfy
the agent-<name>.md convention (eliminates a name/filename collision that
caused install/update to write a divergent duplicate)
- test_cli_error_handling no longer installs into the repo root (uses tmp)
Version 1.4.0; CHANGELOG, CLI cheat sheet, agency-framework, TODO updated.
Workplan KAIZEN-WP-0007 closed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Define activity-core scheduling for kaizen agents on preselected repos:
schedule manifest, prepare CLI, roster resolver handoff, and custodian pilot.
Point TODO/SCOPE at v1.3.0 active work.
inter-hub-pkg-rep is the Gitea token name (not a username). PACKAGE_USER is
tegwick; token custody is OpenBao platform/operators/inter-hub/package-management.
Disable keyring in CI and pass twine --username/--password explicitly.
Draft workplan with 16 tasks across publish verification, install doc
sync, packaged agent parity, CI hardening, and ecosystem handoff.
Refresh TODO.md and SCOPE.md; register State Hub workstream.
Add kaizen-agentic feedback CLI, Gitea issue templates, CI workflow,
pre-commit hooks, FEEDBACK/TELEMETRY docs, and cross-platform path tests.
Improve CLI registry error messages; remove agents_backup scaffolding.
Apply black formatting across src/tests for CI consistency.
State Hub message sent to agentic-resources for Helix correlation doc link.
Sync coach, sys-medic, scope-analyst, optimization, and updated
tdd-workflow to packaged data (20 agents). Update architecture.md,
README orientation, and CHANGELOG for the metrics loop. Mark WP-0003
completed.
Add metrics frontmatter and session-close recording to tdd-workflow,
document the reference implementation in wiki/AboutKaizenAgents.md,
and add an e2e test covering record → show → optimize → brief.
Add Performance Summary block to memory brief, document metrics synthesis in
agent-coach, and add e2e and CLI tests for qualitative plus quantitative briefs.
Add ADR-004 storage layer with append-only executions, summary
regeneration, idempotency keys, and retention pruning. Wire memory init
to scaffold .kaizen/metrics/ by default and add unit tests.
Persist INTENT and ecosystem assessments in history/, add ADR-004 for
project metrics with Helix Forge correlation, and register WP-0003 and
WP-0004 workplans with State Hub. Update SCOPE, README, and agency-framework
docs to reflect the two-layer measurement model.