@mindrian_os/cli 2.0.0-beta.25 → 2.0.0-beta.29
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 +102 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,105 @@
|
|
|
1
|
+
## [2.0.0-beta.29] - 2026-09-09
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
- **Phase 298 (SEED-032): Harness-as-Code.** MindrianOS declares and machine-enforces its own
|
|
5
|
+
agent harness for the first time. `data/harness-policies/` is the closed, versioned schema:
|
|
6
|
+
eleven slice-1 policies (five gates, four voice rules, the memory-write declaration, the
|
|
7
|
+
Larry contract-parity declaration), each carrying an enforcement rung (`declared` / `logged`
|
|
8
|
+
/ `blocking`) read from disk, never hardcoded. `scripts/run-harness.cjs` is the one idempotent
|
|
9
|
+
policy runner: a tiered `--check`, a `--room <dir>` convergence scan (proven idempotent twice
|
|
10
|
+
in a row against a committed fixture, byte-identical output, zero writes), and a `--policy
|
|
11
|
+
<id>` promotion review that prints one evaluator's verdict and never recomputes it.
|
|
12
|
+
`scripts/build-harness-manifest.cjs` goes to manifest v2 (three additive keys -- `policies`,
|
|
13
|
+
`larry_surfaces`, `fixture_ref` -- `maps` stays exactly three) and now runs the Larry
|
|
14
|
+
contract-parity checks inline, so `--check` fails closed the moment any of Larry's three
|
|
15
|
+
speaking surfaces drops a core-contract phrase or the Desktop wire exceeds its 1,950-byte
|
|
16
|
+
budget. `node scripts/doctor.cjs --acceptance` gained a `harness-policies` blocker that spawns
|
|
17
|
+
the runner, wiring the whole harness into the release train's own gate. The pre-commit drift
|
|
18
|
+
guard now fires on any edit under `data/harness-policies/` or `data/harness-fixtures/`, so the
|
|
19
|
+
manifest's own digest cannot silently rot. Two long-red manifest-cluster tests were repaired
|
|
20
|
+
(repointed at the file that actually carries the guard after Phase 235-01's rewrite) rather
|
|
21
|
+
than left recorded as known-broken. 15 plans, 6 waves, goal-backward verified.
|
|
22
|
+
- **Admin-only commands stop leaking into recommendations (SEED-052).** The Brain
|
|
23
|
+
recommendation scorer (`lib/workflow/f-selector-ranker.cjs`) now reads each command's
|
|
24
|
+
`visibility` field (mirrored into `data/command-registry.json` by the generator) and filters
|
|
25
|
+
out `visibility: admin` candidates for a non-admin navigator, fail-closed by default. Closes a
|
|
26
|
+
live, reproduced leak: `/mos:admin` was ranking as the #2 recommendation for every navigator,
|
|
27
|
+
admin or not, before this fix.
|
|
28
|
+
- **Skill-optimization smoke calibration reconciliation (SEED-061).** `scripts/skillopt-funnel.cjs`
|
|
29
|
+
gained a deterministic, exact-match reconciliation pass over `enumerateQueries`'s full-roster
|
|
30
|
+
output: a `should_not_trigger` negative labeled `expected_skill: null` that exactly collides
|
|
31
|
+
with a real positive elsewhere in the roster is corrected before the flag rule scores it,
|
|
32
|
+
closing a disclosed false-alarm class from Phase 230's smoke calibration (`230-07-CALIBRATION.md`).
|
|
33
|
+
The fix also closes a resume-path staleness hole: a resumed funnel run now re-applies the
|
|
34
|
+
reconciled label instead of reading a stale persisted verdict. Zero live model calls anywhere
|
|
35
|
+
in the fix or its tests.
|
|
36
|
+
- **`scripts/release.sh` Step 5.5 stops crying wolf on a good push (SEED-051).** The tag-push
|
|
37
|
+
verification gate now checks an independent `git ls-remote` on `origin/main`'s SHA before
|
|
38
|
+
deciding whether a still-not-visible tag is a real failure or just GitHub replication lag.
|
|
39
|
+
When the push demonstrably landed, a slow tag now prints a warning and the ceremony continues
|
|
40
|
+
through the acceptance/marketplace/post-verify steps; when it did not land, the original hard
|
|
41
|
+
abort is preserved. The abort-vs-warn decision lives in a new, independently testable library,
|
|
42
|
+
`scripts/release-lib/verify-tag-push.sh`. Reproduces and fixes the exact false alarm hit on
|
|
43
|
+
the v1.15.0 release ceremony (2026-07-02).
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Twelve stale-duplicate roadmap phase stubs (283, 297, 299, 300, 302, 304, 305, 306, 309, 312,
|
|
47
|
+
325, 326) closed as `ABSORBED BY PHASE <N>`, each citing the specific already-shipped phase
|
|
48
|
+
and code evidence, after tracing that their seeds' own required capabilities were already
|
|
49
|
+
live -- no renumbering, no plans lost, roadmap now tells the truth about what still needs
|
|
50
|
+
building. Two further clusters fused (319 absorbs 320-322/324 into one Host Runtime Decision
|
|
51
|
+
Record; 333 absorbs 334 into one Room-as-GraphRAG walk-test-then-build phase).
|
|
52
|
+
|
|
53
|
+
## [2.0.0-beta.27] - 2026-09-07
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
- Larry recognizes Theo by name on all three surfaces. `agents/larry-extended.md` gained
|
|
57
|
+
`## If asked about Theo by name` (Theo is MindrianOS's own teaching-graph backend behind every
|
|
58
|
+
`brain_*` call; a direct by-name question gets an honest brief answer, never volunteered), with a
|
|
59
|
+
narrow inline carve-out on the Never-Do "mention databases or architecture" rule (quick
|
|
60
|
+
260907-i8j). The Desktop/Cowork MCP wire, `lib/mcp/runtime-instructions.cjs`, gained a THEO
|
|
61
|
+
clause inside the 1,950-byte served budget (1888 -> 1944 bytes) with the Canon Part 8 BOUNDARIES
|
|
62
|
+
paragraph byte-identical and still the tail (quick 260907-m2j). No endpoint, host, or wiring
|
|
63
|
+
detail is disclosed on any surface.
|
|
64
|
+
- `### Honest about thin grounding` in `skills/larry-personality/SKILL.md`: on any thin `brain_*`
|
|
65
|
+
signal (an empty DirectiveEnvelope `signals` set, a zero or ambiguous `normalize_framework_name`
|
|
66
|
+
match, a low `orchestration_readiness` score) one capability-honesty clause rides inside the
|
|
67
|
+
answer Larry is already giving, naming no backend noun. Finishes wiring Decision #8, "Honest
|
|
68
|
+
refusal everywhere", into Larry's voice (quick 260907-i8j).
|
|
69
|
+
- `lib/core/repo-version.cjs`: the one canonical answer to "what version is this repo" (module +
|
|
70
|
+
CLI), refusing with a named error instead of guessing when resolved from a `.claude/worktrees/*`
|
|
71
|
+
checkout (quick 260906-t3s).
|
|
72
|
+
- `scripts/check-worktree-hygiene.cjs` plus a `worktree-hygiene` blocker in `doctor --acceptance`:
|
|
73
|
+
diffs `.claude/worktrees/*` on disk against `git worktree list`, classifies every unregistered
|
|
74
|
+
checkout (`live-gitdir` / `safe-orphan` / `review`) by hashing its files against the object
|
|
75
|
+
database, and is the only governed delete path (`--prune --confirm`; `review` is never
|
|
76
|
+
auto-deleted). 18 hermetic tests (quick 260906-t3s).
|
|
77
|
+
- `docs/CANON-PHASE-MAP.md` `## Amendment cascade rule`: every canon amendment discovers the
|
|
78
|
+
version-pinning tests by an escaped-regex-aware grep instead of a hand-named list, and bumps
|
|
79
|
+
`Date:` together with `Version:` (quick 260907-m2l).
|
|
80
|
+
- `docs/autopsies/2026-09-06-worktree-version-contamination-incident.md`, cross-referenced from
|
|
81
|
+
CLAUDE.md's WORKSPACE GUARD (quick 260906-t3s).
|
|
82
|
+
|
|
83
|
+
### Fixed
|
|
84
|
+
- Canon version floors: `test-205-elevation-doctrine-floor` (pinned 1.24) and
|
|
85
|
+
`test-cirs-render-coverage-floor` (pinned 1.16) cascaded to the live v1.27;
|
|
86
|
+
`test-bono-verdict` and `test-canon-part-9-ratification` redesigned from live-header equality
|
|
87
|
+
(structurally doomed the moment a later entry ships) to append-only provenance plus a monotonic
|
|
88
|
+
floor; the `run-all-340.sh` quarantine on part-9-ratification lifted; `docs/MINDRIAN-CANON.md`
|
|
89
|
+
`Date:` restored to 2026-09-05, the v1.27 commit date, after Phase 340's three bumps dropped it
|
|
90
|
+
(quick 260907-m2l).
|
|
91
|
+
- Four stale lines in `agents/larry-extended.md` (em-dash wording under a hyphens-only rule, a
|
|
92
|
+
hardcoded sensor count now read from the registry, a nonexistent `lib/memory/user-md-persona.cjs`
|
|
93
|
+
path corrected to `lib/core/user-md-ops.cjs`, a moved dual-path registration note) and a
|
|
94
|
+
memory-layer contradiction in `skills/larry-personality/SKILL.md` (quick 260907-m2j).
|
|
95
|
+
|
|
96
|
+
### Removed
|
|
97
|
+
- `lib/mcp/larry-server-instructions.md`: an orphan loaded by nothing at runtime that named nine
|
|
98
|
+
tools which do not exist and opened with the exact first-contact string `test-143.2` forbids.
|
|
99
|
+
Its one live rule, the BCH-03 two-pass turn-ordering doctrine, relocated verbatim into
|
|
100
|
+
`skills/larry-personality/SKILL.md`; `tests/test-bch-01-ownership.cjs` repointed at it
|
|
101
|
+
(quick 260907-m2j).
|
|
102
|
+
|
|
1
103
|
## [2.0.0-beta.25] - 2026-09-06
|
|
2
104
|
|
|
3
105
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mindrian_os/cli",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.29",
|
|
4
4
|
"description": "Install MindrianOS into Claude Code with one command -- `npx @mindrian_os/cli`. Ships the MindrianOS plugin (Larry + PWS methodology + Data Room) plus a setup/diagnostics CLI (install/doctor/update).",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"mcp": "node bin/mindrian-mcp-server.cjs",
|