@mindrian_os/cli 1.15.3-beta.26 → 1.15.3-beta.28
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 +109 -0
- package/README.md +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,112 @@
|
|
|
1
|
+
## [1.15.3-beta.28] - 2026-07-18
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- **Eureka: killed two distinct causes of unusable portfolio-scan output, plus a warm-cache
|
|
6
|
+
MCP path.** Live-verified on two independently-chosen real rooms
|
|
7
|
+
(`aion-eureka-synergy`, `iia-deeptech-centers`), not just fixture-green.
|
|
8
|
+
|
|
9
|
+
- **Seam 2 (statement-metadata gap, RESOLVED).** Every entity-entity Opportunity Statement
|
|
10
|
+
was rendering the literal placeholder text "unknown x unknown approach to a unknown x
|
|
11
|
+
unknown cross-domain bridge" instead of a real mechanism. Root cause: Phase 218 wired
|
|
12
|
+
entity nodes (company/technology/market) into the 215 opportunity-statement pipeline but
|
|
13
|
+
patched only the `title` slot for that node class, leaving `section`/`primary_problem`/
|
|
14
|
+
`problems`/`shared_problems` falling through to content-node defaults entity nodes
|
|
15
|
+
structurally can't satisfy. Fixed in `lib/core/eureka/room-native-substrate.cjs`: the
|
|
16
|
+
entity-node branch now inherits `section` from its already-shipped `DESCRIBES` edge to its
|
|
17
|
+
source memory_artifact (55/56 entities have one; pure composition over an existing edge,
|
|
18
|
+
sibling of the prior title fix), with an `entityType` fallback for the remainder, plus a
|
|
19
|
+
relation-edge-typed bridge label (`competes-with`/`uses-component`/`supplies-to`) in
|
|
20
|
+
`scripts/eureka-portfolio-report.cjs` instead of the generic phrase. 22/25 -> 0/25
|
|
21
|
+
"unknown x unknown" statements on both proving rooms.
|
|
22
|
+
- **Seam 3 (candidate-generation gap, RESOLVED).** Real content was getting ranked against
|
|
23
|
+
its own containing section (`problem-definition` x `problem-definition`) because `Section`
|
|
24
|
+
container nodes -- the room's own top-level folder nodes -- were admitted as pairing
|
|
25
|
+
candidates. The critic already had a correctly-firing rejection tag for this
|
|
26
|
+
(`domain_swap_invariant`) but nothing upstream excluded these pairs before they consumed
|
|
27
|
+
ranked-list slots. Fixed with an additive either-endpoint `Section` exclusion at the same
|
|
28
|
+
generation-layer insertion point the 260715-0nj scaffold-pair fix established (Reuse
|
|
29
|
+
Before Build), with an honest `container_pairs_excluded` counter surfaced in provenance.
|
|
30
|
+
1,575 degenerate pairs (9.8% of the candidate set) excluded on `iia-deeptech-centers`;
|
|
31
|
+
proven a true no-op on `aion-eureka-synergy` (0 Section nodes there) by output diff, not
|
|
32
|
+
by assertion.
|
|
33
|
+
- **New: `eureka-run`/`eureka-status`/`eureka-report` on the `intelligence` MCP router
|
|
34
|
+
tool.** Calls the same governed dispatcher (`scripts/eureka-command.cjs` `main(argv)`)
|
|
35
|
+
in-process instead of spawning a fresh child process per call, so
|
|
36
|
+
`embedding-spine.cjs`'s existing module-level encoder cache stays warm across scans on
|
|
37
|
+
the Phase 198 resident daemon (spiked: same-process call 2 is 0ms vs. call 1's 179ms,
|
|
38
|
+
unmodified cache mechanism). Transport-gated per call: in-process on the http resident
|
|
39
|
+
daemon; detached child on stdio, since `process.stdout` is the JSON-RPC framing channel
|
|
40
|
+
there and the scan writes progress to stdout. Registered on the `intelligence` tool's
|
|
41
|
+
enum only, outside the 65-command CLI/MCP parity array (mirrors the `eureka_critic`
|
|
42
|
+
precedent). `/mos:eureka`'s CLI behavior and output contract are unchanged (verified
|
|
43
|
+
byte-identical).
|
|
44
|
+
|
|
45
|
+
Flagged, deliberately out of scope for this pass: Seam 1 (entity-extraction noise --
|
|
46
|
+
generic-noun and near-duplicate entities still reach the ranker on `aion-eureka-synergy`,
|
|
47
|
+
tracked separately) and a newly-observed WhitespaceZone-dominated pairing pattern on
|
|
48
|
+
`iia-deeptech-centers` (AHP composite doesn't differentiate a room where ~87% of nodes are
|
|
49
|
+
whitespace hypotheses) -- both real, both future work, neither papered over.
|
|
50
|
+
|
|
51
|
+
- **Phase 230: MindrianOS Skill Fleet Optimization -- the harness for testing whether
|
|
52
|
+
MindrianOS's own 124 skills trigger correctly and stay quiet when they shouldn't.**
|
|
53
|
+
Two workstreams. WS1 (trigger-accuracy, all 124 skills): per-family eval-query generation
|
|
54
|
+
exploiting sibling near-misses, a roster-wide judge funnel (one call scores a query against
|
|
55
|
+
all 124 skill descriptions at once, catching competitive collisions isolated per-skill
|
|
56
|
+
grading structurally cannot see), flagged skills escalate to a real live trigger-test loop
|
|
57
|
+
with train/validation-gated description revision. WS2 (code-quality, the ~59 script/
|
|
58
|
+
workflow-backed skills -- the design estimated ~10-20, the real inventory came in ~3x
|
|
59
|
+
higher, disclosed rather than silently re-scoped): adversarially-verified review
|
|
60
|
+
(Refute-or-Promote) with a deterministic evidence-quote anchor so a fabricated finding
|
|
61
|
+
cannot reach the report. Live-smoke-tested end to end on a 13-skill human-approved
|
|
62
|
+
calibration set (`scripts/skillopt-*.cjs`, `lib/core/skillopt-schemas.cjs`,
|
|
63
|
+
`tests/run-all-230.sh`, 9 deterministic legs): the real Skill-fire detector proved correct
|
|
64
|
+
in both directions on fresh live captures (it turned out MindrianOS's own `mos:` skills
|
|
65
|
+
fire via an MCP tool call, not Claude Code's native Skill tool -- caught before anything
|
|
66
|
+
was built on the wrong assumption), and WS2 independently re-discovered the real
|
|
67
|
+
`check-card-fire.cjs` over-enforcement defect (see Fixed, below) with zero false positive
|
|
68
|
+
on a known-clean control. The smoke calibration gate itself came in under tolerance (30%
|
|
69
|
+
agreement vs. an 85% bar) -- accepted as informative, not blocking, since most of the gap
|
|
70
|
+
is real full-roster collisions a human's isolated pre-labels couldn't see plus one disclosed
|
|
71
|
+
query-labeling bug; the reconciliation (fix the labeling bug, re-run smoke) is tracked as
|
|
72
|
+
SEED-061, not silently dropped. **The full 124-skill fleet run and any multi-agent
|
|
73
|
+
Workflow-tool orchestration are explicitly deferred behind a future opt-in -- this release
|
|
74
|
+
ships the harness, not a fleet run.** Nothing was ever written to a real `SKILL.md` or
|
|
75
|
+
script; every proposed change surfaces in a human-approved report only.
|
|
76
|
+
|
|
77
|
+
### Fixed
|
|
78
|
+
|
|
79
|
+
- **`check-card-fire.cjs` no longer force-fires the Decision-Gate card on plain prose with no
|
|
80
|
+
actual gate.** Two independent over-fire mechanisms, logged three times across 12 days
|
|
81
|
+
(2026-07-05, 2026-07-11, 2026-07-17) before being root-caused against a live 17-record
|
|
82
|
+
intercept-log replay: (1) the backstop's bare numbered-prose detector had a 7/7
|
|
83
|
+
false-positive rate in the logged evidence and zero true catches -- retired outright,
|
|
84
|
+
genuine ASCII-box degrades stay caught by the separate bracket-arm detector, unchanged;
|
|
85
|
+
(2) the primary registry-gated path fired on `ran_entries` alone, which a side-channel
|
|
86
|
+
session-key/TTL union bled into every turn for roughly 10 minutes regardless of relevance
|
|
87
|
+
-- now requires a confirmed, non-empty gate-subject plus relevance against that real
|
|
88
|
+
subject. Verified against all 7 real logged firings (0/7 re-fire) plus the full
|
|
89
|
+
card-fire-specific suite (11/11 + 27 assertions). Trade-off, disclosed not hidden: a lone
|
|
90
|
+
genuine numbered-prose fork no longer force-fires at the hook level and now depends on the
|
|
91
|
+
model's own Phase-210/SEED-021 judgment -- the same trust boundary the existing
|
|
92
|
+
under-firing watch (`feedback_false_success_silent_skip_gates_academy_testers.md`) already
|
|
93
|
+
tracks from the opposite direction.
|
|
94
|
+
- **Per-session room binding no longer re-prompts every turn after a real bind.** The MCP
|
|
95
|
+
`room_bind` tool wrote the session's binding state keyed by the actual Claude session UUID;
|
|
96
|
+
the CLI `UserPromptSubmit` hook read it keyed by `process.env.CLAUDE_SESSION_ID`, which is
|
|
97
|
+
unset in that hook's execution context, so it silently fell back to a
|
|
98
|
+
`sha256(roomDir+day)` hash key that never matched -- confirmed with an exact hash-vs-
|
|
99
|
+
on-disk-filename proof, not inferred. The hook now reads the real session id from its own
|
|
100
|
+
stdin payload first. This also un-breaks Phase 225's zero-score gate (SEED-039), which
|
|
101
|
+
shared the same key-mismatch root and was never separately regressed -- just never covered.
|
|
102
|
+
- **The reach/navigation dial no longer offers a topically-unrelated room or claim with no
|
|
103
|
+
relevance check.** `cross_room` was a permanent member of the reach candidate bank, always
|
|
104
|
+
offered in a cold room's top-3 regardless of what the live conversation was actually about,
|
|
105
|
+
filtered only by advisory instruction text the model had to apply itself. A structural
|
|
106
|
+
relevance gate (`lib/hmi/reach-relevance-gate.cjs`) now suppresses off-topic candidates by
|
|
107
|
+
token overlap against the live turn before they're ever offered; `cross_room` also no
|
|
108
|
+
longer "borrows from itself" (filling its own room-name slot with the current room).
|
|
109
|
+
|
|
1
110
|
## [1.15.3-beta.26] - 2026-07-16
|
|
2
111
|
|
|
3
112
|
### Added
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
Powered by PWS (Problems Worth Solving), an innovation methodology built and tested through 20 years of teaching by Prof. Lawrence Aronhime.
|
|
11
11
|
Engineered by Jonathan Sagir.
|
|
12
12
|
|
|
13
|
-
[](CHANGELOG.md)
|
|
14
14
|
[](LICENSE)
|
|
15
15
|
[](#three-surfaces)
|
|
16
16
|
|
|
@@ -128,7 +128,7 @@ The commands below are internals. You never have to memorize them or type them.
|
|
|
128
128
|
/mos:grade # honest assessment against real ventures
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
That is a slice of
|
|
131
|
+
That is a slice of 111 commands across 124 skills and 9 agents. If you do not know which one to run, that is the normal case. Just talk: Larry reaches for the right one.
|
|
132
132
|
|
|
133
133
|
---
|
|
134
134
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mindrian_os/cli",
|
|
3
|
-
"version": "1.15.3-beta.
|
|
3
|
+
"version": "1.15.3-beta.28",
|
|
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",
|