pi-mega-compact 0.20.45 → 0.20.47
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/dist/config/vector-cortex-enc0d.js +39 -0
- package/dist/config/vector-cortex-enc0e.js +40 -0
- package/dist/config/vector-cortex-vc3to8.js +239 -0
- package/dist/config/vector-cortex.js +5 -227
- package/dist/config.js +1 -1
- package/dist/extensions/dashboard-server/routes-rag-settings-vector-cortex.js +2 -0
- package/dist/extensions/dashboard-server/routes-setup-cortex.js +30 -1
- package/dist/extensions/dashboard-server/setup-cortex-blockers.js +2 -1
- package/dist/src/config/vector-cortex-enc0d.js +39 -0
- package/dist/src/config/vector-cortex-enc0e.js +40 -0
- package/dist/src/config/vector-cortex-vc3to8.js +239 -0
- package/dist/src/config/vector-cortex.js +5 -227
- package/dist/src/config.js +1 -1
- package/dist/src/vector-cortex/encoder/decision.js +17 -0
- package/dist/src/vector-cortex/encoder/promotion-emit.js +40 -0
- package/dist/src/vector-cortex/encoder/promotion.js +64 -0
- package/dist/src/vector-cortex/encoder/runtime-emit.js +8 -2
- package/dist/src/vector-cortex/encoder/runtime-select.js +35 -1
- package/dist/vector-cortex/encoder/decision.js +17 -0
- package/dist/vector-cortex/encoder/promotion-emit.js +40 -0
- package/dist/vector-cortex/encoder/promotion.js +64 -0
- package/dist/vector-cortex/encoder/runtime-emit.js +8 -2
- package/dist/vector-cortex/encoder/runtime-select.js +35 -1
- package/extensions/dashboard-client/dist/assets/{AreaChart-Cn6X7epL.js → AreaChart-COnj8FHi.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{AreaChart-Cn6X7epL.js.map → AreaChart-COnj8FHi.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{BarChart-APy1Wc7z.js → BarChart-BYqt8c5-.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{BarChart-APy1Wc7z.js.map → BarChart-BYqt8c5-.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{CacheTab-CEv_Ss9O.js → CacheTab-PLRjMrZV.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{CacheTab-CEv_Ss9O.js.map → CacheTab-PLRjMrZV.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{EventsTab-8jV1Pr0C.js → EventsTab-DXKSft6w.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{EventsTab-8jV1Pr0C.js.map → EventsTab-DXKSft6w.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{HealthTab-B2VgEz1j.js → HealthTab-BgVIsrde.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{HealthTab-B2VgEz1j.js.map → HealthTab-BgVIsrde.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-m37AlTbg.js → MaintenanceTab-DNgFC8KZ.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-m37AlTbg.js.map → MaintenanceTab-DNgFC8KZ.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-Co2jbqdT.js → MemoryMapTab-B6yY47sz.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-Co2jbqdT.js.map → MemoryMapTab-B6yY47sz.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MetricsTab-D0yV9X6D.js → MetricsTab-BrhJ6rkx.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MetricsTab-D0yV9X6D.js.map → MetricsTab-BrhJ6rkx.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{OverviewTab-J5TjXB14.js → OverviewTab-RFHU9L4x.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{OverviewTab-J5TjXB14.js.map → OverviewTab-RFHU9L4x.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{ReposTab-BadNIkWu.js → ReposTab-UFIWKkJM.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{ReposTab-BadNIkWu.js.map → ReposTab-UFIWKkJM.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CdKShJuR.js → SessionsTab-BHFYsmK8.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CdKShJuR.js.map → SessionsTab-BHFYsmK8.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SetupTab-CPemizDx.js → SetupTab-C3dnKa8y.js} +3 -3
- package/extensions/dashboard-client/dist/assets/{SetupTab-CPemizDx.js.map → SetupTab-C3dnKa8y.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-TvULibwW.js → TimeSavedCard-aPG5Knqn.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-TvULibwW.js.map → TimeSavedCard-aPG5Knqn.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TurnsTab-CglFIcYy.js → TurnsTab-fGm9n-Tk.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TurnsTab-CglFIcYy.js.map → TurnsTab-fGm9n-Tk.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{VcStatusBadge-H2bBNhrR.js → VcStatusBadge-BtmSNH8X.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{VcStatusBadge-H2bBNhrR.js.map → VcStatusBadge-BtmSNH8X.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{VectorCortexTab-CXPv3sYQ.js → VectorCortexTab-meALMMOZ.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{VectorCortexTab-CXPv3sYQ.js.map → VectorCortexTab-meALMMOZ.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{WikiTab-BNfN175_.js → WikiTab-0TK6q6g1.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{WikiTab-BNfN175_.js.map → WikiTab-0TK6q6g1.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{button-DjN7aqD2.js → button-CKEnMZ98.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{button-DjN7aqD2.js.map → button-CKEnMZ98.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{card-DLHA5XP8.js → card-BVVhm3sL.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{card-DLHA5XP8.js.map → card-BVVhm3sL.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{client-extra-ZT6mIQZS.js → client-extra-BvGxKZpm.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{client-extra-ZT6mIQZS.js.map → client-extra-BvGxKZpm.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-DAl4dRVG.js → generateCategoricalChart-B1PeCct1.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-DAl4dRVG.js.map → generateCategoricalChart-B1PeCct1.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{index-H-sfROoW.js → index-DuThOA-d.js} +3 -3
- package/extensions/dashboard-client/dist/assets/{index-H-sfROoW.js.map → index-DuThOA-d.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{switch-BCxvJYon.js → switch-7qLS7ajc.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{switch-BCxvJYon.js.map → switch-7qLS7ajc.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{toggle-DviUMYeg.js → toggle-D7mgOVxz.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{toggle-DviUMYeg.js.map → toggle-D7mgOVxz.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{useSSE-DP2O8vHY.js → useSSE-ChpyZVeX.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{useSSE-DP2O8vHY.js.map → useSSE-ChpyZVeX.js.map} +1 -1
- package/extensions/dashboard-client/dist/index.html +1 -1
- package/extensions/dashboard-client/src/tabs/SetupTab/CortexBlockersCard.tsx +17 -1
- package/extensions/dashboard-client/src/tabs/SetupTab/CortexSetup.tsx +1 -0
- package/extensions/dashboard-client/src/types/setup-cortex.ts +10 -0
- package/extensions/dashboard-server/api-contracts/setup-cortex.ts +11 -0
- package/extensions/dashboard-server/routes-rag-settings-vector-cortex.ts +12 -0
- package/extensions/dashboard-server/routes-setup-cortex.ts +35 -1
- package/extensions/dashboard-server/setup-cortex-blockers.ts +2 -1
- package/package.json +1 -1
- package/src/config/vector-cortex-enc0d.ts +41 -0
- package/src/config/vector-cortex-enc0e.ts +42 -0
- package/src/config/vector-cortex-vc3to8.ts +256 -0
- package/src/config/vector-cortex.ts +23 -245
- package/src/config.ts +2 -0
- package/src/vector-cortex/encoder/decision.ts +28 -1
- package/src/vector-cortex/encoder/promotion-emit.ts +63 -0
- package/src/vector-cortex/encoder/promotion.ts +95 -0
- package/src/vector-cortex/encoder/runtime-emit.ts +21 -4
- package/src/vector-cortex/encoder/runtime-select.ts +46 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config/vector-cortex-enc0d.ts — ENC-0d promotion gate over real trained assets.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from vector-cortex.ts so that file stays under the 300-line soft
|
|
5
|
+
* limit (soft-as-hard gate), exactly as vector-cortex-enc0a.ts / enc0b.ts /
|
|
6
|
+
* enc0c.ts and the VC8C/VC9A-D/ML5A-E/DEDUP_ATTR siblings were. vector-cortex.ts
|
|
7
|
+
* re-exports the flag below and root src/config.ts re-exports it, so no
|
|
8
|
+
* consumer import path changes.
|
|
9
|
+
*
|
|
10
|
+
* ENC-0d turns the ML5-E promotion gate into the real-asset promotion path:
|
|
11
|
+
* it accepts a `{color}` real candidate manifest (the ENC-0c trained head
|
|
12
|
+
* weights + the ENC-0b trunk, staged under
|
|
13
|
+
* ~/.pi/mega-compact-encoder/candidates/), digest-verifies every staged byte
|
|
14
|
+
* before any swap, and performs an atomic asset swap with rollback-to-previous
|
|
15
|
+
* on qualification failure. The extension itself never stages candidate assets —
|
|
16
|
+
* only the operator trains them. When the flag is ON and a digest-verified
|
|
17
|
+
* green candidate exists, an atomic swap is performed and the runtime flips into
|
|
18
|
+
* qualified mode A; a red qualification (or any verification failure) keeps the
|
|
19
|
+
* prior asset live and emits a demotion.
|
|
20
|
+
*
|
|
21
|
+
* `MEGACOMPACT_ENC_0D=0` accepts no candidate, swaps nothing, emits nothing, and
|
|
22
|
+
* the shipped manifest stays at the ENC-0c survivor — byte-identical predecessor.
|
|
23
|
+
*
|
|
24
|
+
* The split is purely mechanical: ENC_0D_ENABLED follows ENC_0C_ENABLED in name,
|
|
25
|
+
* semantics, and default, and vector-cortex.ts re-exports it so every existing
|
|
26
|
+
* `from "./config/vector-cortex.js"` import keeps resolving unchanged.
|
|
27
|
+
*
|
|
28
|
+
* Pi-agnostic, dependency-free (PREVENT-PI-004 / PREVENT-011).
|
|
29
|
+
*/
|
|
30
|
+
import { sprintFlag } from "./vector-cortex-flag.js";
|
|
31
|
+
/**
|
|
32
|
+
* ENC-0d — atomic real-asset promotion over trained candidates. Default ON.
|
|
33
|
+
* `MEGACOMPACT_ENC_0D=0` disables and is byte-identical to the predecessor
|
|
34
|
+
* (ENC-0c): no candidate is accepted, no swap is performed, no promote/
|
|
35
|
+
* demote/rollback events are emitted, and the shipped manifest stays at the
|
|
36
|
+
* ENC-0c survivor. This flag MUST also be a dashboard SETTINGS toggle (visible
|
|
37
|
+
* in config UI, never in EXCLUDED_SETTINGS), mirroring ENC_0A/ENC_0B/ENC_0C.
|
|
38
|
+
*/
|
|
39
|
+
export const ENC_0D_ENABLED = () => sprintFlag("MEGACOMPACT_ENC_0D");
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config/vector-cortex-enc0e.ts — ENC-0e darwin-x64 explicit demotion reason.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from vector-cortex.ts so that file stays under the 300-line soft
|
|
5
|
+
* limit (soft-as-hard gate), exactly as vector-cortex-enc0a.ts / enc0b.ts /
|
|
6
|
+
* enc0c.ts / enc0d.ts and the VC8C/VC9A-D/ML5A-E/DEDUP_ATTR siblings were.
|
|
7
|
+
* vector-cortex.ts re-exports the flag below and root src/config.ts re-exports
|
|
8
|
+
* it, so no consumer import path changes.
|
|
9
|
+
*
|
|
10
|
+
* ENC-0e closes HG-4's operator-visibility gap on macOS Intel (darwin-x64): the
|
|
11
|
+
* platform has no native binary upstream (arm64-only; a darwin-x64
|
|
12
|
+
* transform-class package ships only WASM), so the runtime demotes to mode-B
|
|
13
|
+
* WASM per HG-4. That demotion already exists in the ML5-C decision rule —
|
|
14
|
+
* ENC-0e makes it EXPLICIT by surfacing a deterministic demotion reason on the
|
|
15
|
+
* runtime-selection event and on the Setup Cortex blockers card, so an
|
|
16
|
+
* Intel-Mac operator sees exactly why mode A is unreachable.
|
|
17
|
+
*
|
|
18
|
+
* `MEGACOMPACT_ENC_0E=0` strips ONLY the reason surface: no demotionReason on
|
|
19
|
+
* the runtime-selection event, no Setup card row. The ML5-C demotion itself
|
|
20
|
+
* (mode-B/WASM on Intel Mac) remains the default and is NOT gated off — so the
|
|
21
|
+
* flag-off path is byte-identical to the predecessor. The flag MUST also be a
|
|
22
|
+
* dashboard SETTINGS toggle (visible, never in EXCLUDED_SETTINGS).
|
|
23
|
+
*
|
|
24
|
+
* The split is purely mechanical: ENC_0E_ENABLED follows ENC_0D_ENABLED in
|
|
25
|
+
* name, semantics, and default, and vector-cortex.ts re-exports it so every
|
|
26
|
+
* existing `from "./config/vector-cortex.js"` import keeps resolving unchanged.
|
|
27
|
+
*
|
|
28
|
+
* Pi-agnostic, dependency-free (PREVENT-PI-004 / PREVENT-011).
|
|
29
|
+
*/
|
|
30
|
+
import { sprintFlag } from "./vector-cortex-flag.js";
|
|
31
|
+
/**
|
|
32
|
+
* ENC-0e — darwin-x64 explicit demotion reason. Default ON.
|
|
33
|
+
* `MEGACOMPACT_ENC_0E=0` disables and is byte-identical to the predecessor
|
|
34
|
+
* (ENC-0d): the runtime-selection event carries no demotionReason and the Setup
|
|
35
|
+
* Cortex blockers card renders no demotion-reason row. The ML5-C darwin-x64
|
|
36
|
+
* WASM demotion itself is NOT gated off — only the explicit reason surface is.
|
|
37
|
+
* This flag MUST also be a dashboard SETTINGS toggle (visible in config UI,
|
|
38
|
+
* never in EXCLUDED_SETTINGS), mirroring ENC_0A/ENC_0B/ENC_0C/ENC_0D.
|
|
39
|
+
*/
|
|
40
|
+
export const ENC_0E_ENABLED = () => sprintFlag("MEGACOMPACT_ENC_0E");
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config/vector-cortex-vc3to8.ts — VC3A..VC8B flag siblings (extracted).
|
|
3
|
+
*
|
|
4
|
+
* Mechanical extract from vector-cortex.ts so that barrel stays under the
|
|
5
|
+
* 300-line soft-as-hard cap (each sprint adds one re-export line; the VC3A..VC8B
|
|
6
|
+
* inline definitions were the bulk). Mirrors the vector-cortex-early.ts precedent
|
|
7
|
+
* (VC0A..VC2C extracted there) and the VC8C+/ML5/ENC sibling-extract pattern.
|
|
8
|
+
* vector-cortex.ts re-exports every flag below, so no consumer import path changes.
|
|
9
|
+
*
|
|
10
|
+
* Pi-agnostic, dependency-free (PREVENT-PI-004 / PREVENT-011). Default ON;
|
|
11
|
+
* `=0` byte-identical to the predecessor for every flag.
|
|
12
|
+
*/
|
|
13
|
+
import { sprintFlag } from "./vector-cortex-flag.js";
|
|
14
|
+
/**
|
|
15
|
+
* VC3A — capability-gated cortex store (CortexReader/Writer/Admin, CortexRecordV1).
|
|
16
|
+
* Default ON. `MEGACOMPACT_VC3A=0` disables and is byte-identical to the
|
|
17
|
+
* predecessor (mode C: the derived cortex store is absent, mode B in-memory is
|
|
18
|
+
* not consulted, zero `vector_cortex_record_append_failed` /
|
|
19
|
+
* `vector_cortex_generation_rebuilt` emissions; the predecessor derived pointer
|
|
20
|
+
* and goldens are unchanged). The real consumers are the cortex append seam, the
|
|
21
|
+
* cortex rebuild/admin seam and the reader-only topology summary seam.
|
|
22
|
+
*/
|
|
23
|
+
export const VC3A_ENABLED = () => sprintFlag("MEGACOMPACT_VC3A");
|
|
24
|
+
/**
|
|
25
|
+
* VC3B — deterministic cortical topology (TopologyV1 / EdgeV1).
|
|
26
|
+
* Default ON. `MEGACOMPACT_VC3B=0` disables and is byte-identical to the
|
|
27
|
+
* predecessor (mode C: no topology graph is built or emitted, the dashboard
|
|
28
|
+
* topology view returns the VC3A-precise aggregation shape with no node/edge
|
|
29
|
+
* arrays, zero `vector_cortex_topology_*` emissions). The real consumers are
|
|
30
|
+
* the topology build seam (build.ts) and the dashboard topology node/edge view.
|
|
31
|
+
*/
|
|
32
|
+
export const VC3B_ENABLED = () => sprintFlag("MEGACOMPACT_VC3B");
|
|
33
|
+
/**
|
|
34
|
+
* VC3C — topology query + router invalidation (TopologyQueryV1 / RouterKeyV2,
|
|
35
|
+
* M6 router-generation-v2 migration).
|
|
36
|
+
* Default ON. `MEGACOMPACT_VC3C=0` disables and is byte-identical to the
|
|
37
|
+
* predecessor (mode C: no length-delimited router key, no generation
|
|
38
|
+
* invalidation, zero `vector_cortex_router_generation_invalidated` /
|
|
39
|
+
* `vector_cortex_topology_query_demoted` emissions; the predecessor tiered
|
|
40
|
+
* router keying is unchanged). The real consumers are the topology query seam
|
|
41
|
+
* (query.ts), the M6 router-generation-v2 migration seam, and the reader-only
|
|
42
|
+
* dashboard topology query diagnostic view.
|
|
43
|
+
*/
|
|
44
|
+
export const VC3C_ENABLED = () => sprintFlag("MEGACOMPACT_VC3C");
|
|
45
|
+
/**
|
|
46
|
+
* VC4A — dual-tier shard contract (SemanticShardV1 / ExactShardV1 /
|
|
47
|
+
* ShardManifestV1).
|
|
48
|
+
* Default ON. `MEGACOMPACT_VC4A=0` disables and is byte-identical to the
|
|
49
|
+
* predecessor (mode C: exact anchors/current transcript only, no semantic or
|
|
50
|
+
* exact shard manifest is assembled or emitted, zero
|
|
51
|
+
* `vector_cortex_shard_manifest_built` / `vector_cortex_protected_span_rejected`
|
|
52
|
+
* emissions; the predecessor derived pointer and goldens are unchanged). The
|
|
53
|
+
* real consumers are the shard assembly seam (manifest.ts) and the reader-only
|
|
54
|
+
* dashboard shards aggregate view.
|
|
55
|
+
*/
|
|
56
|
+
export const VC4A_ENABLED = () => sprintFlag("MEGACOMPACT_VC4A");
|
|
57
|
+
/**
|
|
58
|
+
* VC4B — residual codec and numeric parity (ResidualCodecV1 / ParityShardV1).
|
|
59
|
+
* Default ON. `MEGACOMPACT_VC4B=0` disables and is byte-identical to the
|
|
60
|
+
* predecessor (mode C: no residual artifact is admitted, the exact compressed
|
|
61
|
+
* payload / ledger bytes remain the only representation, zero
|
|
62
|
+
* `vector_cortex_residual_admitted` / `vector_cortex_parity_recovery_failed`
|
|
63
|
+
* emissions; the VC4A shard manifest and its goldens are unchanged). The real
|
|
64
|
+
* consumers are the codec admission seam (codec.ts) and the reader-only
|
|
65
|
+
* dashboard residual aggregate view. The codec math itself is PURE — flag OFF
|
|
66
|
+
* gates the reporter/admission seam, never the arithmetic.
|
|
67
|
+
*/
|
|
68
|
+
export const VC4B_ENABLED = () => sprintFlag("MEGACOMPACT_VC4B");
|
|
69
|
+
/**
|
|
70
|
+
* VC4C — reconstruction fidelity (closure + assemble + validate). Default ON.
|
|
71
|
+
* `MEGACOMPACT_VC4C=0` disables and is byte-identical to the predecessor
|
|
72
|
+
* (VC4B): no conservative closure is computed, the reconstruction validator's
|
|
73
|
+
* `vector_cortex_reconstruction_validated` / `vector_cortex_closure_rejected`
|
|
74
|
+
* events are never emitted, and the assembled reconstruction is never produced
|
|
75
|
+
* (the prompt continues to be built by the legacy VC4B exact/residual path and
|
|
76
|
+
* the VC4A shard goldens are unchanged). The closure/assemble/validate
|
|
77
|
+
* functions are PURE — flag OFF gates the reporter seam, never the arithmetic.
|
|
78
|
+
* This flag MUST also be a dashboard SETTINGS toggle (visible in config UI,
|
|
79
|
+
* never in EXCLUDED_SETTINGS), mirroring VC4A/VC4B.
|
|
80
|
+
*/
|
|
81
|
+
export const VC4C_ENABLED = () => sprintFlag("MEGACOMPACT_VC4C");
|
|
82
|
+
/**
|
|
83
|
+
* VC5A — PromptDagV1 + budgeted portfolio planner. Default ON.
|
|
84
|
+
* `MEGACOMPACT_VC5A=0` disables and is byte-identical to the predecessor
|
|
85
|
+
* (VC4C): no prompt DAG is built or validated, no budgeted plan is selected,
|
|
86
|
+
* the `vector_cortex_plan_selected` / `vector_cortex_plan_mandatory_overflow`
|
|
87
|
+
* events are never emitted, and the prompt continues to be built by the
|
|
88
|
+
* predecessor VC4C closure/reconstruction path (its goldens are unchanged).
|
|
89
|
+
* The builder/validator/portfolio functions are PURE — flag OFF gates the
|
|
90
|
+
* reporter + dashboard seam, never the arithmetic. This flag MUST also be a
|
|
91
|
+
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
92
|
+
* mirroring VC4A/VC4B/VC4C.
|
|
93
|
+
*/
|
|
94
|
+
export const VC5A_ENABLED = () => sprintFlag("MEGACOMPACT_VC5A");
|
|
95
|
+
/**
|
|
96
|
+
* VC5B — validated prompt renderer + provider profiles. Default ON.
|
|
97
|
+
* `MEGACOMPACT_VC5B=0` disables and is byte-identical to the predecessor
|
|
98
|
+
* (VC5A): no render manifest is produced, no canonical request is hashed, the
|
|
99
|
+
* `vector_cortex_render_validated` / `vector_cortex_provider_bypassed` events are
|
|
100
|
+
* never emitted, and the prompt continues to be built by the predecessor VC5A
|
|
101
|
+
* DAG/plan path (its goldens are unchanged). The render/validate functions are
|
|
102
|
+
* PURE — flag OFF gates the reporter + dashboard seam, never the arithmetic.
|
|
103
|
+
* This flag MUST also be a dashboard SETTINGS toggle (visible in config UI, never
|
|
104
|
+
* in EXCLUDED_SETTINGS), mirroring VC4A/VC4B/VC4C/VC5A.
|
|
105
|
+
*/
|
|
106
|
+
export const VC5B_ENABLED = () => sprintFlag("MEGACOMPACT_VC5B");
|
|
107
|
+
/**
|
|
108
|
+
* VC5C — live graduated rollout. Default ON. `MEGACOMPACT_VC5C=0` disables and
|
|
109
|
+
* is byte-identical to the predecessor (VC5B): no session is assigned a stable
|
|
110
|
+
* 10k bucket, no gate-advance decision runs, the `vector_cortex_rollout_assigned`
|
|
111
|
+
* / `vector_cortex_rollout_promotion_blocked` events are never emitted, and the
|
|
112
|
+
* prompt continues to be built by the predecessor VC5B renderer path (its goldens
|
|
113
|
+
* are unchanged). The assign/gate/emit functions are PURE — flag OFF gates the
|
|
114
|
+
* reporter + dashboard seam, never the arithmetic. This flag MUST also be a
|
|
115
|
+
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
116
|
+
* mirroring VC4A/VC4B/VC4C/VC5A/VC5B.
|
|
117
|
+
*/
|
|
118
|
+
export const VC5C_ENABLED = () => sprintFlag("MEGACOMPACT_VC5C");
|
|
119
|
+
/**
|
|
120
|
+
* VC6A — advanced closure optimization. Default ON. `MEGACOMPACT_VC6A=0`
|
|
121
|
+
* disables and is byte-identical to the predecessor (VC5C): the `optimizeClosure`
|
|
122
|
+
* transitive-reduction arithmetic STILL RUNS (it is PURE), but the
|
|
123
|
+
* `vector_cortex_closure_optimized` / `vector_cortex_closure_proof_rejected`
|
|
124
|
+
* events are never emitted and the dashboard closure diagnostics seam is
|
|
125
|
+
* suppressed. Flag OFF gates the reporter + dashboard seam, never the arithmetic,
|
|
126
|
+
* so flag-off outbound/predecessor golden bytes match exactly. This flag MUST
|
|
127
|
+
* also be a dashboard SETTINGS toggle (visible in config UI, never in
|
|
128
|
+
* EXCLUDED_SETTINGS), mirroring VC4A/VC4B/VC4C/VC5A/VC5B/VC5C.
|
|
129
|
+
*/
|
|
130
|
+
export const VC6A_ENABLED = () => sprintFlag("MEGACOMPACT_VC6A");
|
|
131
|
+
/**
|
|
132
|
+
* VC6B — exact source restoration. Default ON. `MEGACOMPACT_VC6B=0` disables and
|
|
133
|
+
* is byte-identical to the predecessor (VC6A): the `restoreSources` /
|
|
134
|
+
* `verifyRestored` arithmetic STILL RUNS (it is PURE — an exact-source read plus
|
|
135
|
+
* a SHA-256 comparison, with no clock, storage, or network), but the
|
|
136
|
+
* `vector_cortex_source_restored` / `vector_cortex_restore_digest_rejected`
|
|
137
|
+
* events are never emitted and the dashboard restoration diagnostics seam is
|
|
138
|
+
* suppressed. Flag OFF gates the reporter + dashboard seam, never the
|
|
139
|
+
* restore/verify arithmetic, so flag-off outbound/predecessor golden bytes match
|
|
140
|
+
* exactly. This flag MUST also be a dashboard SETTINGS toggle (visible in config
|
|
141
|
+
* UI, never in EXCLUDED_SETTINGS), mirroring VC4A/VC4B/VC4C/VC5A/VC5B/VC5C/VC6A.
|
|
142
|
+
*/
|
|
143
|
+
export const VC6B_ENABLED = () => sprintFlag("MEGACOMPACT_VC6B");
|
|
144
|
+
/**
|
|
145
|
+
* VC6C — self-healing derived controller. Default ON. `MEGACOMPACT_VC6C=0`
|
|
146
|
+
* disables and is byte-identical to the predecessor (VC6B): the `detectGaps` /
|
|
147
|
+
* `planRebuild` / `rebuildGeneration` / `switchPointer` arithmetic STILL RUNS (it
|
|
148
|
+
* is PURE — a high-water comparison plus a SHA-256 root-digest check, with an
|
|
149
|
+
* INJECTED clock and no storage or network), but the
|
|
150
|
+
* `vector_cortex_repair_planned` / `vector_cortex_repair_pointer_switched` /
|
|
151
|
+
* `vector_cortex_repair_backoff` events are never emitted and the dashboard
|
|
152
|
+
* repair diagnostics seam is suppressed. Flag OFF gates the reporter + dashboard
|
|
153
|
+
* seam, never the gap-detection/rebuild arithmetic (in particular, an unverified
|
|
154
|
+
* pointer switch stays refused with the flag off), so flag-off
|
|
155
|
+
* outbound/predecessor golden bytes match exactly. This flag MUST also be a
|
|
156
|
+
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
157
|
+
* mirroring VC4A/VC4B/VC4C/VC5A/VC5B/VC5C/VC6A/VC6B.
|
|
158
|
+
*/
|
|
159
|
+
export const VC6C_ENABLED = () => sprintFlag("MEGACOMPACT_VC6C");
|
|
160
|
+
/**
|
|
161
|
+
* VC7A — frozen range crystals. Default ON. `MEGACOMPACT_VC7A=0` disables and is
|
|
162
|
+
* byte-identical to the predecessor (VC6C): the `encodeCrystalKey` /
|
|
163
|
+
* `CrystalStore` arithmetic STILL RUNS (it is PURE — a canonical length-prefixed
|
|
164
|
+
* encoding plus SHA-256, with no clock, storage, or network), so a crystal is
|
|
165
|
+
* keyed identically and a same-key/different-bytes write is still refused with
|
|
166
|
+
* the flag off. The flag gates ONLY the `vector_cortex_crystal_written` /
|
|
167
|
+
* `vector_cortex_crystal_collision` events and the cache-crystals dashboard seam,
|
|
168
|
+
* which reports `enabled:false` + mode C when off. Flag OFF never gates the
|
|
169
|
+
* crystal/store arithmetic, so flag-off outbound/predecessor golden bytes match
|
|
170
|
+
* exactly. This flag MUST also be a dashboard SETTINGS toggle (visible in config
|
|
171
|
+
* UI, never in EXCLUDED_SETTINGS), mirroring VC4A..VC6C.
|
|
172
|
+
*/
|
|
173
|
+
export const VC7A_ENABLED = () => sprintFlag("MEGACOMPACT_VC7A");
|
|
174
|
+
/**
|
|
175
|
+
* VC7B — provider cache economics + crystal compiler. Default ON.
|
|
176
|
+
* `MEGACOMPACT_VC7B=0` disables and is byte-identical to the predecessor
|
|
177
|
+
* (VC7A): `computeEconomics`, `compileCrystalBoundaries` and `assignExperiment`
|
|
178
|
+
* STILL RUN (they are PURE — exact integer/rational arithmetic and a SHA-256
|
|
179
|
+
* session bucket, with no clock, storage, or network), so a session keeps its
|
|
180
|
+
* SAME experiment arm and the compiler keeps producing the SAME boundaries with
|
|
181
|
+
* the flag off. Crucially the compiler never changes request identity in either
|
|
182
|
+
* state, so the outbound canonical request — and therefore the VC7A crystal key
|
|
183
|
+
* and the predecessor golden bytes — are unaffected by this flag.
|
|
184
|
+
*
|
|
185
|
+
* The flag gates ONLY the `vector_cortex_cache_experiment_assigned` /
|
|
186
|
+
* `vector_cortex_cache_economics_estimated` events and the cache-economics
|
|
187
|
+
* dashboard seam, which reports `enabled:false` + mode C when off. This flag
|
|
188
|
+
* MUST also be a dashboard SETTINGS toggle (visible in config UI, never in
|
|
189
|
+
* EXCLUDED_SETTINGS), mirroring VC4A..VC7A.
|
|
190
|
+
*/
|
|
191
|
+
export const VC7B_ENABLED = () => sprintFlag("MEGACOMPACT_VC7B");
|
|
192
|
+
/**
|
|
193
|
+
* VC7C — cache miss diagnostics, cache-level breakers and the completed M5
|
|
194
|
+
* request-hash-v2 switch. Default ON. `MEGACOMPACT_VC7C=0` disables and is
|
|
195
|
+
* byte-identical to the predecessor (VC7B): the miss `classify`, the breaker
|
|
196
|
+
* demotion decision and the M5 request-hash-v2 ARITHMETIC STILL RUN (they are
|
|
197
|
+
* PURE — an exclusive ordered comparison over already-computed digests plus a
|
|
198
|
+
* canonical length-prefixed SHA-256, with no clock, storage, or network), so a
|
|
199
|
+
* miss is classified into the SAME single class, a collision / stale generation
|
|
200
|
+
* / digest failure / profile mismatch still demotes BEFORE any cache serve, and
|
|
201
|
+
* the v2 hash of a given request is unchanged with the flag off. A cache is
|
|
202
|
+
* never allowed to serve a stale or colliding entry merely because reporting is
|
|
203
|
+
* off — that would be a correctness change, not a reporting change.
|
|
204
|
+
*
|
|
205
|
+
* The flag gates ONLY the `vector_cortex_cache_miss_classified` /
|
|
206
|
+
* `vector_cortex_cache_serve_blocked` events and the cache-diagnostics dashboard
|
|
207
|
+
* seam, which reports `enabled:false` + mode C when off. This flag MUST also be
|
|
208
|
+
* a dashboard SETTINGS toggle (visible in config UI, never in
|
|
209
|
+
* EXCLUDED_SETTINGS), mirroring VC4A..VC7B.
|
|
210
|
+
*/
|
|
211
|
+
export const VC7C_ENABLED = () => sprintFlag("MEGACOMPACT_VC7C");
|
|
212
|
+
/**
|
|
213
|
+
* VC8A — consent-bound outcome ledger + offline learning dataset. Default ON.
|
|
214
|
+
* `MEGACOMPACT_VC8A=0` disables and is byte-identical to the predecessor
|
|
215
|
+
* (VC7C): the outcome ledger, consent records, and dataset manifest builder
|
|
216
|
+
* STILL RUN (they are PURE — append-only validation, consent evaluation, and
|
|
217
|
+
* SHA-256 digests, with no clock, storage, or network), so an outcome is still
|
|
218
|
+
* validated identically and a consent revocation still excludes a row. The
|
|
219
|
+
* flag gates ONLY the `vector_cortex_outcome_appended` /
|
|
220
|
+
* `vector_cortex_dataset_record_excluded` events and the outcomes dashboard
|
|
221
|
+
* seam, which reports `enabled:false` + mode C when off. This flag MUST also be
|
|
222
|
+
* a dashboard SETTINGS toggle (visible in config UI, never in
|
|
223
|
+
* EXCLUDED_SETTINGS), mirroring VC4A..VC7C.
|
|
224
|
+
*/
|
|
225
|
+
export const VC8A_ENABLED = () => sprintFlag("MEGACOMPACT_VC8A");
|
|
226
|
+
/**
|
|
227
|
+
* VC8B — bounded shadow adaptive policy + M7 pressure-v2. Default ON.
|
|
228
|
+
* `MEGACOMPACT_VC8B=0` disables and is byte-identical to the predecessor
|
|
229
|
+
* (VC8A): the policy engine, shadow evaluator, and M7 migration STILL RUN
|
|
230
|
+
* (they are PURE — action validation, budget clamping, pressure canonicalization
|
|
231
|
+
* and copy/validate/switch, with no clock, storage, or network), so a budget is
|
|
232
|
+
* still clamped identically and an unknown pressure label is still rejected. The
|
|
233
|
+
* flag gates ONLY the `vector_cortex_shadow_decision_recorded` /
|
|
234
|
+
* `vector_cortex_policy_action_rejected` events and the policy dashboard seam,
|
|
235
|
+
* which reports `enabled:false` + mode C when off. This flag MUST also be a
|
|
236
|
+
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
237
|
+
* mirroring VC4A..VC8A.
|
|
238
|
+
*/
|
|
239
|
+
export const VC8B_ENABLED = () => sprintFlag("MEGACOMPACT_VC8B");
|
|
@@ -7,236 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Breaker/triad constants (TRIAD_RESILIENCE.md) live here; pi-agnostic, dep-free.
|
|
9
9
|
*/
|
|
10
|
-
import { sprintFlag } from "./vector-cortex-flag.js";
|
|
11
10
|
// VC0/VC1/VC2 foundation-phase flags in vector-cortex-early.ts; re-exported
|
|
12
11
|
// so every existing `from "./config/vector-cortex.js"` import resolves unchanged.
|
|
13
12
|
export { VC0A_ENABLED, VC0B_ENABLED, VC0C_ENABLED, VC1A_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, } from "./vector-cortex-early.js";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* predecessor (mode C: the derived cortex store is absent, mode B in-memory is
|
|
18
|
-
* not consulted, zero `vector_cortex_record_append_failed` /
|
|
19
|
-
* `vector_cortex_generation_rebuilt` emissions; the predecessor derived pointer
|
|
20
|
-
* and goldens are unchanged). The real consumers are the cortex append seam, the
|
|
21
|
-
* cortex rebuild/admin seam and the reader-only topology summary seam.
|
|
22
|
-
*/
|
|
23
|
-
export const VC3A_ENABLED = () => sprintFlag("MEGACOMPACT_VC3A");
|
|
24
|
-
/**
|
|
25
|
-
* VC3B — deterministic cortical topology (TopologyV1 / EdgeV1).
|
|
26
|
-
* Default ON. `MEGACOMPACT_VC3B=0` disables and is byte-identical to the
|
|
27
|
-
* predecessor (mode C: no topology graph is built or emitted, the dashboard
|
|
28
|
-
* topology view returns the VC3A-precise aggregation shape with no node/edge
|
|
29
|
-
* arrays, zero `vector_cortex_topology_*` emissions). The real consumers are
|
|
30
|
-
* the topology build seam (build.ts) and the dashboard topology node/edge view.
|
|
31
|
-
*/
|
|
32
|
-
export const VC3B_ENABLED = () => sprintFlag("MEGACOMPACT_VC3B");
|
|
33
|
-
/**
|
|
34
|
-
* VC3C — topology query + router invalidation (TopologyQueryV1 / RouterKeyV2,
|
|
35
|
-
* M6 router-generation-v2 migration).
|
|
36
|
-
* Default ON. `MEGACOMPACT_VC3C=0` disables and is byte-identical to the
|
|
37
|
-
* predecessor (mode C: no length-delimited router key, no generation
|
|
38
|
-
* invalidation, zero `vector_cortex_router_generation_invalidated` /
|
|
39
|
-
* `vector_cortex_topology_query_demoted` emissions; the predecessor tiered
|
|
40
|
-
* router keying is unchanged). The real consumers are the topology query seam
|
|
41
|
-
* (query.ts), the M6 router-generation-v2 migration seam, and the reader-only
|
|
42
|
-
* dashboard topology query diagnostic view.
|
|
43
|
-
*/
|
|
44
|
-
export const VC3C_ENABLED = () => sprintFlag("MEGACOMPACT_VC3C");
|
|
45
|
-
/**
|
|
46
|
-
* VC4A — dual-tier shard contract (SemanticShardV1 / ExactShardV1 /
|
|
47
|
-
* ShardManifestV1).
|
|
48
|
-
* Default ON. `MEGACOMPACT_VC4A=0` disables and is byte-identical to the
|
|
49
|
-
* predecessor (mode C: exact anchors/current transcript only, no semantic or
|
|
50
|
-
* exact shard manifest is assembled or emitted, zero
|
|
51
|
-
* `vector_cortex_shard_manifest_built` / `vector_cortex_protected_span_rejected`
|
|
52
|
-
* emissions; the predecessor derived pointer and goldens are unchanged). The
|
|
53
|
-
* real consumers are the shard assembly seam (manifest.ts) and the reader-only
|
|
54
|
-
* dashboard shards aggregate view.
|
|
55
|
-
*/
|
|
56
|
-
export const VC4A_ENABLED = () => sprintFlag("MEGACOMPACT_VC4A");
|
|
57
|
-
/**
|
|
58
|
-
* VC4B — residual codec and numeric parity (ResidualCodecV1 / ParityShardV1).
|
|
59
|
-
* Default ON. `MEGACOMPACT_VC4B=0` disables and is byte-identical to the
|
|
60
|
-
* predecessor (mode C: no residual artifact is admitted, the exact compressed
|
|
61
|
-
* payload / ledger bytes remain the only representation, zero
|
|
62
|
-
* `vector_cortex_residual_admitted` / `vector_cortex_parity_recovery_failed`
|
|
63
|
-
* emissions; the VC4A shard manifest and its goldens are unchanged). The real
|
|
64
|
-
* consumers are the codec admission seam (codec.ts) and the reader-only
|
|
65
|
-
* dashboard residual aggregate view. The codec math itself is PURE — flag OFF
|
|
66
|
-
* gates the reporter/admission seam, never the arithmetic.
|
|
67
|
-
*/
|
|
68
|
-
export const VC4B_ENABLED = () => sprintFlag("MEGACOMPACT_VC4B");
|
|
69
|
-
/**
|
|
70
|
-
* VC4C — reconstruction fidelity (closure + assemble + validate). Default ON.
|
|
71
|
-
* `MEGACOMPACT_VC4C=0` disables and is byte-identical to the predecessor
|
|
72
|
-
* (VC4B): no conservative closure is computed, the reconstruction validator's
|
|
73
|
-
* `vector_cortex_reconstruction_validated` / `vector_cortex_closure_rejected`
|
|
74
|
-
* events are never emitted, and the assembled reconstruction is never produced
|
|
75
|
-
* (the prompt continues to be built by the legacy VC4B exact/residual path and
|
|
76
|
-
* the VC4A shard goldens are unchanged). The closure/assemble/validate
|
|
77
|
-
* functions are PURE — flag OFF gates the reporter seam, never the arithmetic.
|
|
78
|
-
* This flag MUST also be a dashboard SETTINGS toggle (visible in config UI,
|
|
79
|
-
* never in EXCLUDED_SETTINGS), mirroring VC4A/VC4B.
|
|
80
|
-
*/
|
|
81
|
-
export const VC4C_ENABLED = () => sprintFlag("MEGACOMPACT_VC4C");
|
|
82
|
-
/**
|
|
83
|
-
* VC5A — PromptDagV1 + budgeted portfolio planner. Default ON.
|
|
84
|
-
* `MEGACOMPACT_VC5A=0` disables and is byte-identical to the predecessor
|
|
85
|
-
* (VC4C): no prompt DAG is built or validated, no budgeted plan is selected,
|
|
86
|
-
* the `vector_cortex_plan_selected` / `vector_cortex_plan_mandatory_overflow`
|
|
87
|
-
* events are never emitted, and the prompt continues to be built by the
|
|
88
|
-
* predecessor VC4C closure/reconstruction path (its goldens are unchanged).
|
|
89
|
-
* The builder/validator/portfolio functions are PURE — flag OFF gates the
|
|
90
|
-
* reporter + dashboard seam, never the arithmetic. This flag MUST also be a
|
|
91
|
-
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
92
|
-
* mirroring VC4A/VC4B/VC4C.
|
|
93
|
-
*/
|
|
94
|
-
export const VC5A_ENABLED = () => sprintFlag("MEGACOMPACT_VC5A");
|
|
95
|
-
/**
|
|
96
|
-
* VC5B — validated prompt renderer + provider profiles. Default ON.
|
|
97
|
-
* `MEGACOMPACT_VC5B=0` disables and is byte-identical to the predecessor
|
|
98
|
-
* (VC5A): no render manifest is produced, no canonical request is hashed, the
|
|
99
|
-
* `vector_cortex_render_validated` / `vector_cortex_provider_bypassed` events are
|
|
100
|
-
* never emitted, and the prompt continues to be built by the predecessor VC5A
|
|
101
|
-
* DAG/plan path (its goldens are unchanged). The render/validate functions are
|
|
102
|
-
* PURE — flag OFF gates the reporter + dashboard seam, never the arithmetic.
|
|
103
|
-
* This flag MUST also be a dashboard SETTINGS toggle (visible in config UI, never
|
|
104
|
-
* in EXCLUDED_SETTINGS), mirroring VC4A/VC4B/VC4C/VC5A.
|
|
105
|
-
*/
|
|
106
|
-
export const VC5B_ENABLED = () => sprintFlag("MEGACOMPACT_VC5B");
|
|
107
|
-
/**
|
|
108
|
-
* VC5C — live graduated rollout. Default ON. `MEGACOMPACT_VC5C=0` disables and
|
|
109
|
-
* is byte-identical to the predecessor (VC5B): no session is assigned a stable
|
|
110
|
-
* 10k bucket, no gate-advance decision runs, the `vector_cortex_rollout_assigned`
|
|
111
|
-
* / `vector_cortex_rollout_promotion_blocked` events are never emitted, and the
|
|
112
|
-
* prompt continues to be built by the predecessor VC5B renderer path (its goldens
|
|
113
|
-
* are unchanged). The assign/gate/emit functions are PURE — flag OFF gates the
|
|
114
|
-
* reporter + dashboard seam, never the arithmetic. This flag MUST also be a
|
|
115
|
-
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
116
|
-
* mirroring VC4A/VC4B/VC4C/VC5A/VC5B.
|
|
117
|
-
*/
|
|
118
|
-
export const VC5C_ENABLED = () => sprintFlag("MEGACOMPACT_VC5C");
|
|
119
|
-
/**
|
|
120
|
-
* VC6A — advanced closure optimization. Default ON. `MEGACOMPACT_VC6A=0`
|
|
121
|
-
* disables and is byte-identical to the predecessor (VC5C): the `optimizeClosure`
|
|
122
|
-
* transitive-reduction arithmetic STILL RUNS (it is PURE), but the
|
|
123
|
-
* `vector_cortex_closure_optimized` / `vector_cortex_closure_proof_rejected`
|
|
124
|
-
* events are never emitted and the dashboard closure diagnostics seam is
|
|
125
|
-
* suppressed. Flag OFF gates the reporter + dashboard seam, never the arithmetic,
|
|
126
|
-
* so flag-off outbound/predecessor golden bytes match exactly. This flag MUST
|
|
127
|
-
* also be a dashboard SETTINGS toggle (visible in config UI, never in
|
|
128
|
-
* EXCLUDED_SETTINGS), mirroring VC4A/VC4B/VC4C/VC5A/VC5B/VC5C.
|
|
129
|
-
*/
|
|
130
|
-
export const VC6A_ENABLED = () => sprintFlag("MEGACOMPACT_VC6A");
|
|
131
|
-
/**
|
|
132
|
-
* VC6B — exact source restoration. Default ON. `MEGACOMPACT_VC6B=0` disables and
|
|
133
|
-
* is byte-identical to the predecessor (VC6A): the `restoreSources` /
|
|
134
|
-
* `verifyRestored` arithmetic STILL RUNS (it is PURE — an exact-source read plus
|
|
135
|
-
* a SHA-256 comparison, with no clock, storage, or network), but the
|
|
136
|
-
* `vector_cortex_source_restored` / `vector_cortex_restore_digest_rejected`
|
|
137
|
-
* events are never emitted and the dashboard restoration diagnostics seam is
|
|
138
|
-
* suppressed. Flag OFF gates the reporter + dashboard seam, never the
|
|
139
|
-
* restore/verify arithmetic, so flag-off outbound/predecessor golden bytes match
|
|
140
|
-
* exactly. This flag MUST also be a dashboard SETTINGS toggle (visible in config
|
|
141
|
-
* UI, never in EXCLUDED_SETTINGS), mirroring VC4A/VC4B/VC4C/VC5A/VC5B/VC5C/VC6A.
|
|
142
|
-
*/
|
|
143
|
-
export const VC6B_ENABLED = () => sprintFlag("MEGACOMPACT_VC6B");
|
|
144
|
-
/**
|
|
145
|
-
* VC6C — self-healing derived controller. Default ON. `MEGACOMPACT_VC6C=0`
|
|
146
|
-
* disables and is byte-identical to the predecessor (VC6B): the `detectGaps` /
|
|
147
|
-
* `planRebuild` / `rebuildGeneration` / `switchPointer` arithmetic STILL RUNS (it
|
|
148
|
-
* is PURE — a high-water comparison plus a SHA-256 root-digest check, with an
|
|
149
|
-
* INJECTED clock and no storage or network), but the
|
|
150
|
-
* `vector_cortex_repair_planned` / `vector_cortex_repair_pointer_switched` /
|
|
151
|
-
* `vector_cortex_repair_backoff` events are never emitted and the dashboard
|
|
152
|
-
* repair diagnostics seam is suppressed. Flag OFF gates the reporter + dashboard
|
|
153
|
-
* seam, never the gap-detection/rebuild arithmetic (in particular, an unverified
|
|
154
|
-
* pointer switch stays refused with the flag off), so flag-off
|
|
155
|
-
* outbound/predecessor golden bytes match exactly. This flag MUST also be a
|
|
156
|
-
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
157
|
-
* mirroring VC4A/VC4B/VC4C/VC5A/VC5B/VC5C/VC6A/VC6B.
|
|
158
|
-
*/
|
|
159
|
-
export const VC6C_ENABLED = () => sprintFlag("MEGACOMPACT_VC6C");
|
|
160
|
-
/**
|
|
161
|
-
* VC7A — frozen range crystals. Default ON. `MEGACOMPACT_VC7A=0` disables and is
|
|
162
|
-
* byte-identical to the predecessor (VC6C): the `encodeCrystalKey` /
|
|
163
|
-
* `CrystalStore` arithmetic STILL RUNS (it is PURE — a canonical length-prefixed
|
|
164
|
-
* encoding plus SHA-256, with no clock, storage, or network), so a crystal is
|
|
165
|
-
* keyed identically and a same-key/different-bytes write is still refused with
|
|
166
|
-
* the flag off. The flag gates ONLY the `vector_cortex_crystal_written` /
|
|
167
|
-
* `vector_cortex_crystal_collision` events and the cache-crystals dashboard seam,
|
|
168
|
-
* which reports `enabled:false` + mode C when off. Flag OFF never gates the
|
|
169
|
-
* crystal/store arithmetic, so flag-off outbound/predecessor golden bytes match
|
|
170
|
-
* exactly. This flag MUST also be a dashboard SETTINGS toggle (visible in config
|
|
171
|
-
* UI, never in EXCLUDED_SETTINGS), mirroring VC4A..VC6C.
|
|
172
|
-
*/
|
|
173
|
-
export const VC7A_ENABLED = () => sprintFlag("MEGACOMPACT_VC7A");
|
|
174
|
-
/**
|
|
175
|
-
* VC7B — provider cache economics + crystal compiler. Default ON.
|
|
176
|
-
* `MEGACOMPACT_VC7B=0` disables and is byte-identical to the predecessor
|
|
177
|
-
* (VC7A): `computeEconomics`, `compileCrystalBoundaries` and `assignExperiment`
|
|
178
|
-
* STILL RUN (they are PURE — exact integer/rational arithmetic and a SHA-256
|
|
179
|
-
* session bucket, with no clock, storage, or network), so a session keeps its
|
|
180
|
-
* SAME experiment arm and the compiler keeps producing the SAME boundaries with
|
|
181
|
-
* the flag off. Crucially the compiler never changes request identity in either
|
|
182
|
-
* state, so the outbound canonical request — and therefore the VC7A crystal key
|
|
183
|
-
* and the predecessor golden bytes — are unaffected by this flag.
|
|
184
|
-
*
|
|
185
|
-
* The flag gates ONLY the `vector_cortex_cache_experiment_assigned` /
|
|
186
|
-
* `vector_cortex_cache_economics_estimated` events and the cache-economics
|
|
187
|
-
* dashboard seam, which reports `enabled:false` + mode C when off. This flag
|
|
188
|
-
* MUST also be a dashboard SETTINGS toggle (visible in config UI, never in
|
|
189
|
-
* EXCLUDED_SETTINGS), mirroring VC4A..VC7A.
|
|
190
|
-
*/
|
|
191
|
-
export const VC7B_ENABLED = () => sprintFlag("MEGACOMPACT_VC7B");
|
|
192
|
-
/**
|
|
193
|
-
* VC7C — cache miss diagnostics, cache-level breakers and the completed M5
|
|
194
|
-
* request-hash-v2 switch. Default ON. `MEGACOMPACT_VC7C=0` disables and is
|
|
195
|
-
* byte-identical to the predecessor (VC7B): the miss `classify`, the breaker
|
|
196
|
-
* demotion decision and the M5 request-hash-v2 ARITHMETIC STILL RUN (they are
|
|
197
|
-
* PURE — an exclusive ordered comparison over already-computed digests plus a
|
|
198
|
-
* canonical length-prefixed SHA-256, with no clock, storage, or network), so a
|
|
199
|
-
* miss is classified into the SAME single class, a collision / stale generation
|
|
200
|
-
* / digest failure / profile mismatch still demotes BEFORE any cache serve, and
|
|
201
|
-
* the v2 hash of a given request is unchanged with the flag off. A cache is
|
|
202
|
-
* never allowed to serve a stale or colliding entry merely because reporting is
|
|
203
|
-
* off — that would be a correctness change, not a reporting change.
|
|
204
|
-
*
|
|
205
|
-
* The flag gates ONLY the `vector_cortex_cache_miss_classified` /
|
|
206
|
-
* `vector_cortex_cache_serve_blocked` events and the cache-diagnostics dashboard
|
|
207
|
-
* seam, which reports `enabled:false` + mode C when off. This flag MUST also be
|
|
208
|
-
* a dashboard SETTINGS toggle (visible in config UI, never in
|
|
209
|
-
* EXCLUDED_SETTINGS), mirroring VC4A..VC7B.
|
|
210
|
-
*/
|
|
211
|
-
export const VC7C_ENABLED = () => sprintFlag("MEGACOMPACT_VC7C");
|
|
212
|
-
/**
|
|
213
|
-
* VC8A — consent-bound outcome ledger + offline learning dataset. Default ON.
|
|
214
|
-
* `MEGACOMPACT_VC8A=0` disables and is byte-identical to the predecessor
|
|
215
|
-
* (VC7C): the outcome ledger, consent records, and dataset manifest builder
|
|
216
|
-
* STILL RUN (they are PURE — append-only validation, consent evaluation, and
|
|
217
|
-
* SHA-256 digests, with no clock, storage, or network), so an outcome is still
|
|
218
|
-
* validated identically and a consent revocation still excludes a row. The
|
|
219
|
-
* flag gates ONLY the `vector_cortex_outcome_appended` /
|
|
220
|
-
* `vector_cortex_dataset_record_excluded` events and the outcomes dashboard
|
|
221
|
-
* seam, which reports `enabled:false` + mode C when off. This flag MUST also be
|
|
222
|
-
* a dashboard SETTINGS toggle (visible in config UI, never in
|
|
223
|
-
* EXCLUDED_SETTINGS), mirroring VC4A..VC7C.
|
|
224
|
-
*/
|
|
225
|
-
export const VC8A_ENABLED = () => sprintFlag("MEGACOMPACT_VC8A");
|
|
226
|
-
/**
|
|
227
|
-
* VC8B — bounded shadow adaptive policy + M7 pressure-v2. Default ON.
|
|
228
|
-
* `MEGACOMPACT_VC8B=0` disables and is byte-identical to the predecessor
|
|
229
|
-
* (VC8A): the policy engine, shadow evaluator, and M7 migration STILL RUN
|
|
230
|
-
* (they are PURE — action validation, budget clamping, pressure canonicalization
|
|
231
|
-
* and copy/validate/switch, with no clock, storage, or network), so a budget is
|
|
232
|
-
* still clamped identically and an unknown pressure label is still rejected. The
|
|
233
|
-
* flag gates ONLY the `vector_cortex_shadow_decision_recorded` /
|
|
234
|
-
* `vector_cortex_policy_action_rejected` events and the policy dashboard seam,
|
|
235
|
-
* which reports `enabled:false` + mode C when off. This flag MUST also be a
|
|
236
|
-
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
237
|
-
* mirroring VC4A..VC8A.
|
|
238
|
-
*/
|
|
239
|
-
export const VC8B_ENABLED = () => sprintFlag("MEGACOMPACT_VC8B");
|
|
13
|
+
// VC3A..VC8B flags extracted to vector-cortex-vc3to8.ts (mechanical move so
|
|
14
|
+
// this barrel stays under the 300-line soft cap); re-exported unchanged.
|
|
15
|
+
export { VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, } from "./vector-cortex-vc3to8.js";
|
|
240
16
|
export { VC8C_ENABLED } from "./vector-cortex-vc8c.js";
|
|
241
17
|
export { VC9A_ENABLED } from "./vector-cortex-vc9a.js";
|
|
242
18
|
export { VC9B_ENABLED } from "./vector-cortex-vc9b.js";
|
|
@@ -252,5 +28,7 @@ export { DEDUP_ATTR_ENABLED } from "./vector-cortex-dedup-attr.js";
|
|
|
252
28
|
export { ENC_0A_ENABLED } from "./vector-cortex-enc0a.js";
|
|
253
29
|
export { ENC_0B_ENABLED } from "./vector-cortex-enc0b.js";
|
|
254
30
|
export { ENC_0C_ENABLED } from "./vector-cortex-enc0c.js";
|
|
31
|
+
export { ENC_0D_ENABLED } from "./vector-cortex-enc0d.js";
|
|
32
|
+
export { ENC_0E_ENABLED } from "./vector-cortex-enc0e.js";
|
|
255
33
|
// Breaker constants (TRIAD_RESILIENCE.md §breaker) extracted to vector-cortex-breakers.ts.
|
|
256
34
|
export { BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./vector-cortex-breakers.js";
|
package/dist/config.js
CHANGED
|
@@ -114,4 +114,4 @@ export const NEW_UI = () => ragEnabled("MEGACOMPACT_NEW_UI");
|
|
|
114
114
|
// default ON, `=0`/`_DISABLED` off. Re-exported from src/config/vector-cortex.ts
|
|
115
115
|
// so root consumers share one source of truth.
|
|
116
116
|
// ---------------------------------------------------------------------------
|
|
117
|
-
export { VC0A_ENABLED, VC0B_ENABLED, VC1A_ENABLED, VC0C_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, VC8C_ENABLED, VC9A_ENABLED, VC9B_ENABLED, VC9C_ENABLED, VC9D_ENABLED, PCC_ENABLED, ML5A_ENABLED, ML5B_ENABLED, ML5C_ENABLED, ML5D_ENABLED, ML5E_ENABLED, DEDUP_ATTR_ENABLED, ENC_0A_ENABLED, ENC_0B_ENABLED, ENC_0C_ENABLED, BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./config/vector-cortex.js";
|
|
117
|
+
export { VC0A_ENABLED, VC0B_ENABLED, VC1A_ENABLED, VC0C_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, VC8C_ENABLED, VC9A_ENABLED, VC9B_ENABLED, VC9C_ENABLED, VC9D_ENABLED, PCC_ENABLED, ML5A_ENABLED, ML5B_ENABLED, ML5C_ENABLED, ML5D_ENABLED, ML5E_ENABLED, DEDUP_ATTR_ENABLED, ENC_0A_ENABLED, ENC_0B_ENABLED, ENC_0C_ENABLED, ENC_0D_ENABLED, ENC_0E_ENABLED, BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./config/vector-cortex.js";
|
|
@@ -61,5 +61,7 @@ export const VECTOR_CORTEX_SETTINGS = {
|
|
|
61
61
|
boolDirect("MEGACOMPACT_ENC_0A", "ENC-0a Encoder Backend Decision", "ENC-0a learned-encoder backend-decision lock: records the transformers.js/WASM vs onnxruntime-node choice, per-platform install matrix, opset-21 baseline and pinned digests in docs/vector-cortex/encoder-backend-decision.md. OFF = no decision record written / no resolver runs, mode B trigram byte-identical predecessor.", true),
|
|
62
62
|
boolDirect("MEGACOMPACT_ENC_0B", "ENC-0b Real Trunk Fetch & Gated Path", "ENC-0b real ONNX trunk fetch + gated inference: replaces the LCG placeholder with the real bge-small int8 model through an ONNX InferenceSession (onnxruntime-web WASM). OFF = LCG placeholder serves byte-identical predecessor output, no ONNX session built.", true),
|
|
63
63
|
boolDirect("MEGACOMPACT_ENC_0C", "ENC-0c Five-Head Supervision Transfer", "ENC-0c five-head supervision transfer on the frozen bge-small trunk: when a developer-trained head candidate is staged under ~/.pi/mega-compact-encoder/candidates/, the five heads serve the trained weights. OFF = no candidate is loaded, the heads serve byte-identical ENC-0b survivor defaults.", true),
|
|
64
|
+
boolDirect("MEGACOMPACT_ENC_0D", "ENC-0d Real-Asset Promotion Gate", "ENC-0d promotion gate over real trained assets: accepts a {color} real candidate manifest (the ENC-0c trained head weights + the ENC-0b trunk), digest-verifies every staged byte, and atomically swaps the shipped manifest to a green candidate with rollback-to-previous on qualification failure. OFF = accepts no candidate, swaps nothing, emits nothing, shipped manifest stays at the ENC-0c survivor.", true),
|
|
65
|
+
boolDirect("MEGACOMPACT_ENC_0E", "ENC-0e darwin-x64 Demotion Reason", "ENC-0e darwin-x64 explicit demotion: on an Intel Mac the runtime demotes to WASM (no native binary upstream); this surfaces a deterministic reason on the runtime-selection event and the Setup Cortex blockers card so an operator sees why mode A is unreachable. OFF = no demotion reason on the event and no Setup card row (the ML5-C WASM demotion itself remains the default, byte-identical predecessor).", true),
|
|
64
66
|
],
|
|
65
67
|
};
|
|
@@ -22,8 +22,9 @@ import { createHash } from "node:crypto";
|
|
|
22
22
|
import { readFileSync, statSync } from "node:fs";
|
|
23
23
|
import { join, dirname } from "node:path";
|
|
24
24
|
import { fileURLToPath } from "node:url";
|
|
25
|
-
import { VC9A_ENABLED } from "../../src/config.js";
|
|
25
|
+
import { VC9A_ENABLED, ENC_0E_ENABLED } from "../../src/config.js";
|
|
26
26
|
import { readEncoderManifest, verifyEncoderAsset, detectPlatform } from "../../src/vector-cortex/encoder/asset.js";
|
|
27
|
+
import { selectRuntimeBackend } from "../../src/vector-cortex/encoder/runtime-select.js";
|
|
27
28
|
import { sendJson } from "./routes-vector-cortex-shared.js";
|
|
28
29
|
import { deriveVcStatus } from "./vc-status.js";
|
|
29
30
|
import { SETUP_CORTEX_BLOCKERS } from "./setup-cortex-blockers.js";
|
|
@@ -123,6 +124,11 @@ export function handleSetupCortexStatus(req, res, _ctx) {
|
|
|
123
124
|
const enabled = VC9A_ENABLED();
|
|
124
125
|
const facts = enabled ? setupCortexFacts() : null;
|
|
125
126
|
const blocks = enabled ? [...SETUP_CORTEX_BLOCKERS] : [];
|
|
127
|
+
// ENC-0e: surface the darwin-x64 demotion reason additively (reader-only GET,
|
|
128
|
+
// no new route). The platform is read locally; the selection is pure. On a
|
|
129
|
+
// non-darwin-x64 host or flag-off this is null and the field is omitted —
|
|
130
|
+
// byte-compatible payload.
|
|
131
|
+
const darwinX64 = enabled ? darwinX64StatusBlock() : null;
|
|
126
132
|
const body = {
|
|
127
133
|
enabled,
|
|
128
134
|
flag: "MEGACOMPACT_VC9A",
|
|
@@ -137,7 +143,30 @@ export function handleSetupCortexStatus(req, res, _ctx) {
|
|
|
137
143
|
: { assetDigestPrefix: null, mode: "C" },
|
|
138
144
|
updatedAt: new Date().toISOString(),
|
|
139
145
|
status: deriveVcStatus({ enabled, hasData: !!facts && facts.verdict !== "unavailable", structuralOnly: true }),
|
|
146
|
+
...(darwinX64 !== null ? { darwinX64 } : {}),
|
|
140
147
|
};
|
|
141
148
|
sendJson(res, 200, body);
|
|
142
149
|
return true;
|
|
143
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* ENC-0e helper: the darwin-x64 demotion block for the setup-cortex status
|
|
153
|
+
* response. Exported for direct unit assertion without a live HTTP round-trip —
|
|
154
|
+
* returns null on any non-darwin-x64 platform or flag-off (so the additive
|
|
155
|
+
* contract field is omitted from the payload, byte-compatible). The demotion
|
|
156
|
+
* reason flows from the pure `selectRuntimeBackend` selection, never a literal
|
|
157
|
+
* in the route.
|
|
158
|
+
*/
|
|
159
|
+
export function darwinX64StatusBlock() {
|
|
160
|
+
const platform = detectPlatform();
|
|
161
|
+
if (platform !== "darwin-x64" || !ENC_0E_ENABLED())
|
|
162
|
+
return null;
|
|
163
|
+
const chosen = selectRuntimeBackend({
|
|
164
|
+
platform,
|
|
165
|
+
benchRecord: null,
|
|
166
|
+
nativeOptIn: process.env.MEGACOMPACT_ENCODER_NATIVE === "1",
|
|
167
|
+
});
|
|
168
|
+
return {
|
|
169
|
+
demoted: chosen.backend === "wasm",
|
|
170
|
+
reason: chosen.demotionReason ?? undefined,
|
|
171
|
+
};
|
|
172
|
+
}
|