Skip to content

Release v0.4.0 — Phase 2 (Governed Learning) close-out - #102

Merged
nandanito merged 3 commits into
mainfrom
release/v0.4.0
Jun 30, 2026
Merged

Release v0.4.0 — Phase 2 (Governed Learning) close-out#102
nandanito merged 3 commits into
mainfrom
release/v0.4.0

Conversation

@nandanito

Copy link
Copy Markdown
Contributor

v0.4.0 — Phase 2 (Governed Learning) close-out release

The release that ships the unreleased batch since v0.3.0 and marks Phase 2 complete. Combines the final Phase-2 carry-forward, the v0.4.0 docs gate, and the version bump. Supersedes #101 (its commit is included here).

What ships

Feature — install-wide world-fact-cap tier (#100 carry-forward, was #101)

  • resolveWorldFactCap is now three tiers: per-agent override → install-wide default → DEFAULT_WORLD_FACT_CAP, mirroring resolveRecallBudget.
  • install_settings.world_fact_cap column (additive migration) + InstallSettingsRepository get/set/clear; the two install-wide defaults coexist on the single row.
  • CLI: asterism config world-fact-cap --default <n> (set / --unset / show), [install-wide default] label in config show. CLI-only, like the install-wide recall budget.

Docs gate (v0.4.0)

  • Documents the shipped opt-in cognition trace (Lodestar slice 1/2a): new ## trace section + config cognition-provider/cognition-capture + a "Cognition trace" concept — honest framing (opt-in, off by default, observe-only, references-only default, best-effort scrub).
  • notes accept/reject + the proposed-note review path (the section had wrongly said notes are never reviewed).
  • Reflection's Type-B "objective looks finished" suggestion in reflect/objective.
  • Event-log table: objective.* / world_fact.* added, stale agent.setting_changed row fixed.
  • README reframed: Phase 2 — Governed Learning (complete), Lodestar wired in as an opt-in observe-only trace, belief-grade learning framed as further out; "What you get" gains a Cognition trace row. Logical-scoping caveat intact. Container tags 0.4.0 / 0.4.
  • Reviewed through the Priya persona.

Version bump

  • All 8 @qmilab/* package.json + packages/cli/src/version.ts + bun.lock0.4.0.

Review

Codex (/codex:review --scope branch) returned one [P2] — docs advertised v0.4.0 while package metadata was still 0.3.0 — fixed in 5e9c95e (the bump above). Re-verified against the release gates:

  • release.yml version-match check → PASS (8 packages + CLI const)
  • bun install --frozen-lockfile consistent · bun run build clean · bun test 1123 pass / 0 fail · node + deno acceptance 15/15
  • real CLI --version0.4.0

Release mechanics (after merge)

Tag the merged commit v0.4.0 and push it. release.yml publishes the 8 npm packages (bun pm pack) + a GitHub Release; docker.yml builds the multi-arch image. Then verify live bunx @qmilab/asterism@0.4.0 and ghcr.io/qmilab/asterism:0.4.0 (image tag is 0.4.0, no v). Gotchas: NPM_TOKEN must be a granular Automation token (bypass-2FA); a brand-new scoped package can 404 for ~5 min post-publish (propagation — don't re-publish).

Carried from #100 (Phase 2 deferred follow-ups); the install-wide world-fact-cap item is now done.

🤖 Generated with Claude Code

nandanito and others added 3 commits June 30, 2026 12:41
Fill the deferred middle tier of the world-fact cap: the install-wide
default, mirroring the already-shipped three-tier recall budget (#60/PR #83).

- `install_settings` gains a `world_fact_cap` column (additive, idempotent
  migration); `InstallSettingsRepository` gains get/set/clearWorldFactCap,
  each touching only its own column so the two install-wide defaults coexist.
- `resolveWorldFactCap` is now three tiers:
  per-agent override ?? install-wide default ?? DEFAULT_WORLD_FACT_CAP.
- Surfaced CLI-only (like the install-wide recall budget — no HTTP/console
  surface): `asterism config world-fact-cap --default <n>` (set/--unset/show),
  the per-agent verb now reports the install-wide default as the effective
  fallback, and `config show` gains the install-wide header + the
  `[install-wide default]` label. Help + docs updated.
- Tests: install-settings world-fact-cap (set/clear/validate/coexistence),
  3-tier resolveWorldFactCap precedence, and the CLI install-wide suite
  (replacing the old "not available yet" rejection test).

Suite 1112 → 1123, tsc clean, verify:node + verify:deno 15/15.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…on flip

The documentation half of the v0.4.0 cut (rides the release PR; version-string
flip lands with the tag). Stacked on the install-wide world-fact-cap branch.

- Document the shipped, opt-in **cognition trace** (Lodestar slice 1/2a): new
  `## trace` section + `config cognition-provider`/`cognition-capture` under
  `## config`, and a "Cognition trace" concept. Honest framing throughout —
  opt-in, off by default, observe-only (never changes what an agent may do),
  references-only by default, best-effort content scrub.
- `notes accept`/`reject` + the proposed-note review path (the `## notes`
  section had said notes are never reviewed — now corrected).
- Reflection's Type-B "objective looks finished" suggestion in the `reflect`
  and `objective` sections (advisory; only an operator apply retires it).
- Event-log table: add objective.* / world_fact.* events; fix the stale
  agent.setting_changed row.
- Version/phase flip → v0.4.0: README status reframed (Phase 2 complete;
  Lodestar wired in as an opt-in observe-only trace; belief-grade learning
  framed as further out), "What you get" gains a Cognition trace row, container
  tags 0.4.0/0.4 (README + docs/container.md). Logical-scoping caveat intact.

Reviewed through the Priya persona. tsc clean; CLI/help suite green.
Package version bumps (package.json ×6) + tag are the final release step.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Codex review [P2]: the v0.4.0 docs advertised a release while the package and
CLI version metadata were still 0.3.0, which release.yml rejects (tag must match
committed versions) and which would publish/report 0.3.0. Bump them in the same
change as the docs version-flip so the branch is internally consistent.

- All 8 @qmilab/* package.json → 0.4.0 (deps stay workspace:*).
- packages/cli/src/version.ts VERSION → 0.4.0 (asserted to match package.json).
- bun.lock workspace versions synced (bun install --frozen-lockfile passes).

Verified: release.yml version-match check PASS for all 8 packages + the CLI
constant; bun run build clean; bun test 1123 pass / 0 fail; the real CLI binary
reports 0.4.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@nandanito
nandanito merged commit 453d57b into main Jun 30, 2026
1 check passed
@nandanito
nandanito deleted the release/v0.4.0 branch June 30, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant