percolation-inversion-compiler-ts 0.4.5 → 0.5.0

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.
Files changed (197) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +77 -22
  3. package/agent-manifest.json +50 -0
  4. package/dist/alt_lift/index.d.ts +7 -0
  5. package/dist/alt_lift/index.js +101 -0
  6. package/dist/bit_engine/index.d.ts +8 -0
  7. package/dist/bit_engine/index.js +213 -0
  8. package/dist/cli/main.js +2106 -162
  9. package/dist/index.d.ts +5 -0
  10. package/dist/index.js +1611 -16
  11. package/dist/phase_lab/index.d.ts +26 -0
  12. package/dist/phase_lab/index.js +1124 -0
  13. package/dist/sqot_controller/index.d.ts +8 -0
  14. package/dist/sqot_controller/index.js +141 -0
  15. package/dist/trc_adapter/index.d.ts +6 -0
  16. package/dist/trc_adapter/index.js +86 -0
  17. package/docs/alt-ecpt-lift.md +32 -0
  18. package/docs/bit-inversion-engine.md +32 -0
  19. package/docs/cli-reference.md +68 -0
  20. package/docs/effective-packet-graph.md +35 -0
  21. package/docs/for-agents.md +44 -0
  22. package/docs/phase-ecology-lab.md +46 -0
  23. package/docs/sqot-queue-sovereignty.md +31 -0
  24. package/docs/threshold-certificates.md +30 -0
  25. package/docs/trc-trace-adapter.md +30 -0
  26. package/docs/v050-audit.md +126 -0
  27. package/examples/alt_lift/alt_ecpt_lift.example.json +27 -0
  28. package/examples/bit_engine/bottlenecks.example.json +38 -0
  29. package/examples/bit_engine/inversion_candidates.example.json +55 -0
  30. package/examples/packet_exchange/packet_envelope.example.json +51 -0
  31. package/examples/packet_exchange/packet_merge_report.example.json +60 -0
  32. package/examples/phase_lab/certificate_abstain.example.json +39 -0
  33. package/examples/phase_lab/closure_report.example.json +41 -0
  34. package/examples/phase_lab/effective_graph.example.json +112 -0
  35. package/examples/phase_lab/executable_paths.example.json +20 -0
  36. package/examples/phase_lab/phase_window_observation.example.json +61 -0
  37. package/examples/phase_lab/runtime_report_1.json +19 -0
  38. package/examples/phase_lab/runtime_report_2.json +16 -0
  39. package/examples/phase_lab/threshold_status.example.json +31 -0
  40. package/examples/sqot_controller/queue_report.example.json +30 -0
  41. package/examples/sqot_controller/rebalance_plan.example.json +14 -0
  42. package/examples/thresholds/asi_proxy_development.json +15 -0
  43. package/examples/trc_adapter/tool_trace_input.example.json +17 -0
  44. package/examples/trc_adapter/typed_trace.example.json +64 -0
  45. package/fixtures/portability_conformance_v050/certificate_abstain.example.json +39 -0
  46. package/fixtures/portability_conformance_v050/closure_report.example.json +39 -0
  47. package/fixtures/portability_conformance_v050/effective_graph.example.json +112 -0
  48. package/fixtures/portability_conformance_v050/executable_paths.example.json +20 -0
  49. package/fixtures/portability_conformance_v050/manifest.json +55 -0
  50. package/fixtures/portability_conformance_v050/phase_lab_event_1.json +51 -0
  51. package/fixtures/portability_conformance_v050/phase_lab_event_2.json +55 -0
  52. package/fixtures/portability_conformance_v050/phase_window_observation.example.json +61 -0
  53. package/fixtures/portability_conformance_v050/runtime_report_1.json +19 -0
  54. package/fixtures/portability_conformance_v050/runtime_report_2.json +14 -0
  55. package/fixtures/portability_conformance_v050/threshold_status.example.json +29 -0
  56. package/fixtures/python_v044_cli/agent_autonomy_audit.json +4 -3
  57. package/fixtures/python_v044_cli/agent_manifest.json +2 -1
  58. package/fixtures/python_v044_cli/agent_runbook.json +2 -1
  59. package/fixtures/python_v044_cli/demo_installed_smoke.json +86 -86
  60. package/fixtures/python_v044_demo/manifest.json +2 -1
  61. package/fixtures/python_v050_cli/alt_capital_impact.json +30 -0
  62. package/fixtures/python_v050_cli/alt_ecpt_lift.json +85 -0
  63. package/fixtures/python_v050_cli/alt_liquidity_to_paths.json +85 -0
  64. package/fixtures/python_v050_cli/alt_receiver_lift.json +15 -0
  65. package/fixtures/python_v050_cli/bit_certificate.json +15 -0
  66. package/fixtures/python_v050_cli/bit_compare_baseline.json +24 -0
  67. package/fixtures/python_v050_cli/bit_diagnose.json +95 -0
  68. package/fixtures/python_v050_cli/bit_invert.json +235 -0
  69. package/fixtures/python_v050_cli/bit_mec.json +18 -0
  70. package/fixtures/python_v050_cli/ecology_effective_graph.json +178 -0
  71. package/fixtures/python_v050_cli/ecology_execution_available_paths.json +88 -0
  72. package/fixtures/python_v050_cli/manifest.json +48 -0
  73. package/fixtures/python_v050_cli/phase_lab_certify.json +443 -0
  74. package/fixtures/python_v050_cli/phase_lab_closure.json +85 -0
  75. package/fixtures/python_v050_cli/phase_lab_compare_window.json +24 -0
  76. package/fixtures/python_v050_cli/phase_lab_executable_paths.json +88 -0
  77. package/fixtures/python_v050_cli/phase_lab_graph.json +178 -0
  78. package/fixtures/python_v050_cli/phase_lab_ingest_1.json +105 -0
  79. package/fixtures/python_v050_cli/phase_lab_ingest_2.json +109 -0
  80. package/fixtures/python_v050_cli/phase_lab_init.json +20 -0
  81. package/fixtures/python_v050_cli/phase_lab_list_windows.json +63 -0
  82. package/fixtures/python_v050_cli/phase_lab_observe.json +108 -0
  83. package/fixtures/python_v050_cli/phase_lab_threshold_status.json +164 -0
  84. package/fixtures/python_v050_cli/sqot_diagnose_queue.json +38 -0
  85. package/fixtures/python_v050_cli/sqot_quarantine.json +7 -0
  86. package/fixtures/python_v050_cli/sqot_rebalance.json +19 -0
  87. package/fixtures/python_v050_cli/sqot_reserve_check.json +20 -0
  88. package/fixtures/python_v050_cli/sqot_salience_obstruction.json +19 -0
  89. package/fixtures/python_v050_cli/trc_action_boundary.json +451 -0
  90. package/fixtures/python_v050_cli/trc_tool_trace.json +221 -0
  91. package/fixtures/python_v050_cli/trc_trace_adapter.json +221 -0
  92. package/fixtures/python_v050_demo/asi_proxy_development.json +15 -0
  93. package/fixtures/python_v050_demo/certificate_abstain.example.json +39 -0
  94. package/fixtures/python_v050_demo/closure_report.example.json +39 -0
  95. package/fixtures/python_v050_demo/effective_graph.example.json +112 -0
  96. package/fixtures/python_v050_demo/executable_paths.example.json +20 -0
  97. package/fixtures/python_v050_demo/phase_window_observation.example.json +61 -0
  98. package/fixtures/python_v050_demo/runtime_report_1.json +19 -0
  99. package/fixtures/python_v050_demo/runtime_report_2.json +14 -0
  100. package/fixtures/python_v050_demo/threshold_status.example.json +29 -0
  101. package/fixtures/python_v050_snapshots/manifest.json +39 -0
  102. package/fixtures/python_v050_snapshots/snapshot_list.json +112 -0
  103. package/fixtures/python_v050_snapshots/snapshot_routes.json +926 -0
  104. package/fixtures/python_v050_snapshots/snapshot_show_alt.json +6830 -0
  105. package/fixtures/python_v050_snapshots/snapshot_show_bit.json +594 -0
  106. package/fixtures/python_v050_snapshots/snapshot_show_ecpt.json +2894 -0
  107. package/fixtures/python_v050_snapshots/snapshot_show_sqot.json +2392 -0
  108. package/fixtures/python_v050_snapshots/snapshot_show_trc.json +3037 -0
  109. package/fixtures/python_v050_snapshots/snapshot_verify_alt.json +10 -0
  110. package/fixtures/python_v050_snapshots/snapshot_verify_bit.json +10 -0
  111. package/fixtures/python_v050_snapshots/snapshot_verify_ecpt.json +10 -0
  112. package/fixtures/python_v050_snapshots/snapshot_verify_sqot.json +10 -0
  113. package/fixtures/python_v050_snapshots/snapshot_verify_trc.json +10 -0
  114. package/package.json +45 -3
  115. package/schemas/ASIProxyThresholdSpec.schema.json +72 -0
  116. package/schemas/ASIProxyThresholdStatus.schema.json +512 -0
  117. package/schemas/ActionBoundaryRequirement.schema.json +28 -0
  118. package/schemas/ActivationGainEstimate.schema.json +41 -0
  119. package/schemas/AltEcptLiftReport.schema.json +400 -0
  120. package/schemas/AltLiftBlocker.schema.json +34 -0
  121. package/schemas/AttentionBudgetLedger.schema.json +41 -0
  122. package/schemas/AutocatalyticClosureReport.schema.json +408 -0
  123. package/schemas/AutocatalyticClosureWitness.schema.json +22 -139
  124. package/schemas/BasinReachabilityProxy.schema.json +21 -0
  125. package/schemas/BottleneckClassDiagnosis.schema.json +115 -0
  126. package/schemas/BottleneckInversionCandidate.schema.json +249 -0
  127. package/schemas/BottleneckInversionReport.schema.json +499 -0
  128. package/schemas/CapabilityExpressionPath.schema.json +45 -0
  129. package/schemas/CapitalToPathContribution.schema.json +53 -0
  130. package/schemas/ClosureAbstentionReason.schema.json +25 -0
  131. package/schemas/ClosureCertificateCandidate.schema.json +109 -0
  132. package/schemas/ClosureDefect.schema.json +28 -0
  133. package/schemas/ClosureSupportHyperpath.schema.json +44 -0
  134. package/schemas/CollectivePhaseAbstentionReport.schema.json +591 -0
  135. package/schemas/CollectivePhaseCertificateCandidate.schema.json +688 -0
  136. package/schemas/CrossContextTransferWitness.schema.json +46 -0
  137. package/schemas/DiagnosticReserveReport.schema.json +87 -0
  138. package/schemas/DownstreamSearchCostDelta.schema.json +46 -0
  139. package/schemas/EcologyAutocatalyticClosureWitness.schema.json +187 -0
  140. package/schemas/EffectiveGraphResidualSummary.schema.json +38 -0
  141. package/schemas/EffectivePacketEdge.schema.json +135 -0
  142. package/schemas/EffectivePacketEligibility.schema.json +84 -0
  143. package/schemas/EffectivePacketGraph.schema.json +461 -0
  144. package/schemas/EffectivePacketGraphBuildReport.schema.json +521 -0
  145. package/schemas/EffectivePacketNode.schema.json +199 -0
  146. package/schemas/ExecutableClosureWitness.schema.json +47 -0
  147. package/schemas/ExecutablePathDensityReport.schema.json +314 -0
  148. package/schemas/ExecutionAuthorityStatus.schema.json +28 -0
  149. package/schemas/ExecutionAvailableHyperpath.schema.json +201 -0
  150. package/schemas/ExecutionPathDefect.schema.json +28 -0
  151. package/schemas/ExecutionPathWitness.schema.json +44 -0
  152. package/schemas/FalseLiquidityLoad.schema.json +21 -0
  153. package/schemas/GeneralIntakePolicy.schema.json +1 -1
  154. package/schemas/InversionCertificate.schema.json +56 -0
  155. package/schemas/LiquidityToClosureContribution.schema.json +53 -0
  156. package/schemas/MinimalEnablingCondition.schema.json +48 -0
  157. package/schemas/PacketContributionStatus.schema.json +32 -0
  158. package/schemas/PacketQuarantineDecision.schema.json +50 -0
  159. package/schemas/PhaseCertificateDefect.schema.json +33 -0
  160. package/schemas/PhaseComponentObservation.schema.json +39 -0
  161. package/schemas/PhaseLabEvent.schema.json +123 -0
  162. package/schemas/PhaseLabExportManifest.schema.json +127 -0
  163. package/schemas/PhaseLabIngestReport.schema.json +344 -0
  164. package/schemas/PhaseLabStoreManifest.schema.json +73 -0
  165. package/schemas/PhaseLabWindowIndex.schema.json +78 -0
  166. package/schemas/PhaseThresholdStatus.schema.json +51 -0
  167. package/schemas/PhaseWindow.schema.json +31 -0
  168. package/schemas/PhaseWindowComparison.schema.json +67 -0
  169. package/schemas/PhaseWindowObservation.schema.json +353 -0
  170. package/schemas/PostInversionAuditPlan.schema.json +38 -0
  171. package/schemas/ProductiveClosureWitness.schema.json +49 -0
  172. package/schemas/ProvenanceManifest.schema.json +1 -1
  173. package/schemas/QueueOccupationReport.schema.json +156 -0
  174. package/schemas/QueueRebalancePlan.schema.json +114 -0
  175. package/schemas/ReceiverContextSupport.schema.json +23 -0
  176. package/schemas/ReceiverLiquidityLift.schema.json +58 -0
  177. package/schemas/ReleaseArtifactManifest.schema.json +1 -1
  178. package/schemas/ReversibleSalienceSovereigntyCertificate.schema.json +53 -0
  179. package/schemas/RollbackOrDeactivationPlan.schema.json +38 -0
  180. package/schemas/SBOMManifest.schema.json +1 -1
  181. package/schemas/SalienceObstructionDiagnosis.schema.json +55 -0
  182. package/schemas/SalienceObstructionLoad.schema.json +21 -0
  183. package/schemas/SemanticEdgeEvidence.schema.json +40 -0
  184. package/schemas/TraceAdapterReport.schema.json +405 -0
  185. package/schemas/TraceFrontierDebt.schema.json +43 -0
  186. package/schemas/TraceNormalForm.schema.json +181 -0
  187. package/schemas/TraceToleranceLedger.schema.json +29 -0
  188. package/schemas/TypedActionBoundary.schema.json +58 -0
  189. package/schemas/TypedAgentTrace.schema.json +328 -0
  190. package/schemas/TypedToolCallTrace.schema.json +76 -0
  191. package/schemas/VerificationQueuePressure.schema.json +41 -0
  192. package/schemas/VerificationThroughputWindow.schema.json +21 -0
  193. package/schemas/WasteLoad.schema.json +21 -0
  194. package/schemas/WebFetchPolicy.schema.json +1 -1
  195. package/schemas/bundle.schema.json +11854 -2075
  196. package/schemas/index.json +445 -0
  197. package/schemas/schema-digest.json +733 -289
@@ -0,0 +1,8 @@
1
+ type JsonRecord = Record<string, unknown>;
2
+ declare function diagnoseQueueOccupation(graph: JsonRecord, attentionBudget?: number): JsonRecord;
3
+ declare function diagnoseSalienceObstruction(graph: JsonRecord): JsonRecord;
4
+ declare function buildQueueRebalancePlan(graph: JsonRecord): JsonRecord;
5
+ declare function buildPacketQuarantineDecisions(graph: JsonRecord): JsonRecord;
6
+ declare function checkDiagnosticReserve(graph: JsonRecord, attentionBudget?: number): JsonRecord;
7
+
8
+ export { buildPacketQuarantineDecisions, buildQueueRebalancePlan, checkDiagnosticReserve, diagnoseQueueOccupation, diagnoseSalienceObstruction };
@@ -0,0 +1,141 @@
1
+ // src/sqot_controller/index.ts
2
+ function record(value) {
3
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
4
+ }
5
+ function records(value) {
6
+ return Array.isArray(value) ? value.filter((item) => Boolean(record(item))) : [];
7
+ }
8
+ function strings(value) {
9
+ if (Array.isArray(value)) return value.map(String).sort();
10
+ if (value === void 0 || value === null) return [];
11
+ return [String(value)];
12
+ }
13
+ function graphNodes(graph) {
14
+ return records(graph.nodes);
15
+ }
16
+ function candidateNodes(graph) {
17
+ return graphNodes(graph).filter(
18
+ (node) => record(node.contribution)?.positive_contribution !== true
19
+ );
20
+ }
21
+ function diagnoseQueueOccupation(graph, attentionBudget = 1) {
22
+ const nodes = graphNodes(graph);
23
+ const candidates = candidateNodes(graph);
24
+ const occupied = nodes.length === 0 ? 0 : candidates.length / nodes.length;
25
+ return {
26
+ accepted: true,
27
+ attention_budget_ledger: {
28
+ attention_budget: attentionBudget,
29
+ occupied,
30
+ occupied_by_candidate_only: candidates.length,
31
+ settled: false
32
+ },
33
+ candidate_only_count: candidates.length,
34
+ execution_authority_granted: false,
35
+ graph_id: String(graph.graph_id ?? ""),
36
+ queue_occupation: occupied,
37
+ report_id: "queue-occupation-report",
38
+ settled: false,
39
+ verification_queue_pressure: {
40
+ missing_obligation_count: Number(
41
+ record(graph.residual_summary)?.missing_obligation_count ?? 0
42
+ ),
43
+ pressure: occupied,
44
+ settled: false
45
+ },
46
+ workflow_usable: true
47
+ };
48
+ }
49
+ function diagnoseSalienceObstruction(graph) {
50
+ const blocked = graphNodes(graph).filter(
51
+ (node) => strings(record(node.eligibility)?.blockers).some(
52
+ (blocker) => [
53
+ "candidate-only",
54
+ "salience-obstruction",
55
+ "stale",
56
+ "raw-external-volume"
57
+ ].includes(blocker)
58
+ )
59
+ );
60
+ return {
61
+ accepted: true,
62
+ blocked_packet_ids: blocked.map((node) => String(node.node_id)),
63
+ execution_authority_granted: false,
64
+ graph_id: String(graph.graph_id ?? ""),
65
+ obstruction_count: blocked.length,
66
+ reasons: [
67
+ "salience obstruction is diagnostic and does not mutate queue state"
68
+ ],
69
+ report_id: "salience-obstruction-diagnosis",
70
+ settled: false,
71
+ workflow_usable: true
72
+ };
73
+ }
74
+ function buildQueueRebalancePlan(graph) {
75
+ const actions = graphNodes(graph).map((node) => {
76
+ const blockers = strings(record(node.eligibility)?.blockers);
77
+ const action = blockers.length > 0 ? "preserve_residual" : "inspect";
78
+ return {
79
+ action,
80
+ applied: false,
81
+ deletes_packet: false,
82
+ node_id: String(node.node_id ?? ""),
83
+ reasons: blockers,
84
+ settled: false
85
+ };
86
+ });
87
+ return {
88
+ accepted: true,
89
+ actions,
90
+ applied_action_count: 0,
91
+ execution_authority_granted: false,
92
+ graph_id: String(graph.graph_id ?? ""),
93
+ plan_id: "queue-rebalance-plan",
94
+ recommended_action_count: actions.length,
95
+ settled: false,
96
+ workflow_usable: true
97
+ };
98
+ }
99
+ function buildPacketQuarantineDecisions(graph) {
100
+ const decisions = candidateNodes(graph).map((node) => ({
101
+ applied: false,
102
+ decision: "quarantine",
103
+ deletes_packet: false,
104
+ node_id: String(node.node_id ?? ""),
105
+ reasons: strings(record(node.eligibility)?.blockers),
106
+ reversible: true,
107
+ settled: false
108
+ }));
109
+ return {
110
+ accepted: true,
111
+ applied: false,
112
+ deletes_packets: false,
113
+ execution_authority_granted: false,
114
+ quarantine_decisions: decisions,
115
+ settled: false,
116
+ workflow_usable: true
117
+ };
118
+ }
119
+ function checkDiagnosticReserve(graph, attentionBudget = 1) {
120
+ const queue = diagnoseQueueOccupation(graph, attentionBudget);
121
+ const occupied = Number(queue.queue_occupation ?? 0);
122
+ const reserveFraction = Math.max(0, 1 - occupied);
123
+ return {
124
+ accepted: true,
125
+ diagnostic_reserve_available: reserveFraction > 0.1,
126
+ execution_authority_granted: false,
127
+ minimum_reserve_fraction: 0.1,
128
+ reasons: reserveFraction > 0.1 ? ["diagnostic reserve remains available"] : ["diagnostic reserve is below threshold"],
129
+ report_id: "diagnostic-reserve-report",
130
+ reserve_fraction: reserveFraction,
131
+ settled: false,
132
+ workflow_usable: true
133
+ };
134
+ }
135
+ export {
136
+ buildPacketQuarantineDecisions,
137
+ buildQueueRebalancePlan,
138
+ checkDiagnosticReserve,
139
+ diagnoseQueueOccupation,
140
+ diagnoseSalienceObstruction
141
+ };
@@ -0,0 +1,6 @@
1
+ type JsonRecord = Record<string, unknown>;
2
+ declare function adaptTrcTrace(input: JsonRecord): JsonRecord;
3
+ declare function adaptToolTrace(input: JsonRecord | JsonRecord[]): JsonRecord;
4
+ declare function buildActionBoundaryReport(runtimeReport: JsonRecord): JsonRecord;
5
+
6
+ export { adaptToolTrace, adaptTrcTrace, buildActionBoundaryReport };
@@ -0,0 +1,86 @@
1
+ // src/trc_adapter/index.ts
2
+ function record(value) {
3
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
4
+ }
5
+ function records(value) {
6
+ return Array.isArray(value) ? value.filter((item) => Boolean(record(item))) : [];
7
+ }
8
+ function eventsFromTrace(input) {
9
+ return records(input.events).length > 0 ? records(input.events) : records(input.tool_calls).length > 0 ? records(input.tool_calls) : [input];
10
+ }
11
+ function adaptTrcTrace(input) {
12
+ const events = eventsFromTrace(input);
13
+ const typedEvents = events.map((event, index) => ({
14
+ action_kind: String(
15
+ event.action_kind ?? event.type ?? event.name ?? "agent-event"
16
+ ),
17
+ authority_status: String(event.authority_status ?? "not-granted"),
18
+ event_id: String(event.event_id ?? `trace-event:${index}`),
19
+ evidence_refs: Array.isArray(event.evidence_refs) ? event.evidence_refs.map(String) : [],
20
+ receiver: String(
21
+ event.receiver ?? event.receiver_agent_id ?? "unknown-receiver"
22
+ ),
23
+ rollback_status: String(event.rollback_status ?? "unknown"),
24
+ source: String(event.source ?? event.sender ?? "unknown-source"),
25
+ settled: false
26
+ }));
27
+ return {
28
+ accepted: true,
29
+ executed_action_count: 0,
30
+ execution_authority_granted: false,
31
+ frontier_debt: {
32
+ missing_physical_or_oracle_obligations: [
33
+ "physical execution evidence",
34
+ "oracle truth evidence"
35
+ ],
36
+ settled: false
37
+ },
38
+ normal_form: {
39
+ event_count: typedEvents.length,
40
+ normal_form_id: "trace-normal-form",
41
+ settled: false
42
+ },
43
+ physical_truth_proven: false,
44
+ reasons: ["trace content is typed data, not instruction"],
45
+ report_id: "trace-adapter-report",
46
+ settled: false,
47
+ tolerance_ledger: {
48
+ residual_tolerance: 1,
49
+ settled: false
50
+ },
51
+ typed_trace: {
52
+ events: typedEvents,
53
+ trace_id: String(input.trace_id ?? "typed-agent-trace")
54
+ },
55
+ workflow_usable: true
56
+ };
57
+ }
58
+ function adaptToolTrace(input) {
59
+ const events = Array.isArray(input) ? input : eventsFromTrace(input);
60
+ return adaptTrcTrace({ events, trace_id: "typed-tool-call-trace" });
61
+ }
62
+ function buildActionBoundaryReport(runtimeReport) {
63
+ const commits = records(runtimeReport.action_commits);
64
+ return {
65
+ accepted: runtimeReport.accepted === true,
66
+ action_boundaries: commits.map((commit, index) => ({
67
+ action_id: String(commit.action_id ?? `action:${index}`),
68
+ authority_status: "not-granted",
69
+ execution_authority_granted: false,
70
+ rollback_required: true,
71
+ settled: false
72
+ })),
73
+ executed_action_count: 0,
74
+ execution_authority_granted: false,
75
+ physical_truth_proven: false,
76
+ reasons: ["runtime action boundaries are diagnostic and non-executing"],
77
+ report_id: "action-boundary-report",
78
+ settled: false,
79
+ workflow_usable: runtimeReport.accepted === true
80
+ };
81
+ }
82
+ export {
83
+ adaptToolTrace,
84
+ adaptTrcTrace,
85
+ buildActionBoundaryReport
86
+ };
@@ -0,0 +1,32 @@
1
+ # ALT To ECPT Lift
2
+
3
+ ALT-to-ECPT lift checks whether an abstraction-like packet can support a phase
4
+ ecology component such as a semantic edge, receiver context, execution path, or
5
+ closure candidate. It prevents useful-looking abstraction tokens from being
6
+ counted as phase progress without a bridge.
7
+
8
+ Use `pic-ts` for npm and Node.js projects:
9
+
10
+ ```sh
11
+ pic-ts alt ecpt-lift --packets packet.json --graph effective_graph.json --output alt_lift.json
12
+ pic-ts alt receiver-lift --packet packet.json --receiver-context receiver.json --output receiver_lift.json
13
+ pic-ts alt liquidity-to-paths --packet packet.json --graph effective_graph.json --output liquidity_paths.json
14
+ pic-ts alt capital-impact --reports alt_lift.json --output capital_impact.json
15
+ ```
16
+
17
+ ## How To Read It
18
+
19
+ - `lift_status` tells whether the packet is only diagnostic or a candidate.
20
+ - `positive_ecpt_component_lift` is true only when a declared ECPT component is
21
+ supported.
22
+ - `promotes_to_ecpt_capital` remains false because ALT liquidity is not
23
+ automatically packet capital.
24
+ - `blockers` preserve missing bridge, receiver, hazard, or lifecycle evidence.
25
+
26
+ ## Safety Boundary
27
+
28
+ The lift verifier does not prove real ASI, physical truth, or oracle truth. It
29
+ does not grant execution authority. It keeps `settled=false` unless a finite
30
+ checker path discharges the relevant obligations.
31
+
32
+ Python `percolation-inversion-compiler==0.5.0` remains canonical.
@@ -0,0 +1,32 @@
1
+ # BIT Bottleneck Inversion Engine
2
+
3
+ The BIT engine reads an effective packet graph and reports practical blockers:
4
+ missing evidence, missing verifier routes, missing semantic edges, missing
5
+ rollback support, missing authority, stale packets, salience obstruction, and
6
+ similar issues.
7
+
8
+ Use `pic-ts` for npm and Node.js projects:
9
+
10
+ ```sh
11
+ pic-ts bit diagnose --graph effective_graph.json --output bottlenecks.json
12
+ pic-ts bit invert --bottlenecks bottlenecks.json --output inversion_candidates.json
13
+ pic-ts bit certificate --candidate inversion_candidates.json --output inversion_certificate.json
14
+ ```
15
+
16
+ ## How To Read It
17
+
18
+ - A bottleneck is a reason a packet or edge cannot currently contribute.
19
+ - A minimal enabling condition is a small, finite check that would reduce the
20
+ blocker if supplied.
21
+ - An inversion candidate is a recommendation for what to verify next.
22
+ - A certificate is still a candidate unless all scoped obligations are
23
+ discharged by a finite checker.
24
+
25
+ ## Safety Boundary
26
+
27
+ BIT reports are recommendation-only in PIC-TS. They preserve residual work,
28
+ return `settled=false`, and keep `execution_authority_granted=false`. They do
29
+ not execute plans, mutate repositories, call external services, or claim that a
30
+ bottleneck has been solved without evidence.
31
+
32
+ Python `percolation-inversion-compiler==0.5.0` remains canonical.
@@ -0,0 +1,68 @@
1
+ # PIC-TS CLI Reference
2
+
3
+ `percolation-inversion-compiler-ts` is an npm and Node.js companion for the
4
+ Python `percolation-inversion-compiler==0.5.0` public JSON and CLI surface. Use
5
+ `pic-ts` in Node projects. `pic` is kept only as a compatibility alias and may
6
+ conflict with the Python command.
7
+
8
+ ## Common Checks
9
+
10
+ ```sh
11
+ pic-ts agent check --compact --text "Candidate packet: preserve residuals." --profile development
12
+ pic-ts demo bootstrap --output-dir .pic-demo --overwrite
13
+ pic-ts runtime step --state .pic-demo/runtime_state.json --input .pic-demo/runtime_step_input.json --output .pic-demo/runtime_step_report.generated.json
14
+ pic-ts packet export --report .pic-demo/runtime_step_report.generated.json --output .pic-demo/packet.json
15
+ pic-ts packet inspect --packet .pic-demo/packet.json
16
+ pic-ts phase plan --request .pic-demo/asi_proxy_phase_request.json --compact
17
+ ```
18
+
19
+ These commands inspect JSON and report missing work. They do not run packet
20
+ content, grant shell authority, or turn accepted work into settled work.
21
+
22
+ ## Phase Ecology Lab
23
+
24
+ ```sh
25
+ pic-ts phase lab init --output-dir pic-phase-lab
26
+ pic-ts phase lab ingest --store pic-phase-lab --report examples/phase_lab/runtime_report_1.json
27
+ pic-ts phase lab ingest --store pic-phase-lab --report examples/phase_lab/runtime_report_2.json
28
+ pic-ts phase lab list-windows --store pic-phase-lab
29
+ pic-ts phase lab observe --store pic-phase-lab --window latest --output observation.json
30
+ pic-ts phase lab graph --store pic-phase-lab --output effective_graph.json
31
+ pic-ts phase lab closure --store pic-phase-lab --output closure_report.json
32
+ pic-ts phase lab executable-paths --store pic-phase-lab --output executable_paths.json
33
+ pic-ts phase lab threshold-status --store pic-phase-lab --threshold examples/thresholds/asi_proxy_development.json
34
+ pic-ts phase lab certify --store pic-phase-lab --threshold examples/thresholds/asi_proxy_development.json --output certificate.json
35
+ pic-ts phase lab compare-window --store pic-phase-lab --baseline previous --candidate latest
36
+ ```
37
+
38
+ The lab uses a local JSON/JSONL store. It saves source basenames, not absolute
39
+ local paths. YAML input, live connectors, shell execution, repository mutation,
40
+ and hidden settlement are outside the required npm runtime surface.
41
+
42
+ ## v0.5.0 Diagnostic Commands
43
+
44
+ ```sh
45
+ pic-ts ecology effective-graph --reports examples/phase_lab/runtime_report_1.json --reports examples/phase_lab/runtime_report_2.json --output effective_graph.json
46
+ pic-ts ecology execution-available-paths --graph effective_graph.json
47
+ pic-ts bit diagnose --graph effective_graph.json --output bottlenecks.json
48
+ pic-ts bit invert --bottlenecks bottlenecks.json --output inversion_candidates.json
49
+ pic-ts bit mec --bottlenecks bottlenecks.json --bottleneck bottleneck:example
50
+ pic-ts bit certificate --candidate inversion_candidates.json
51
+ pic-ts bit compare-baseline --baseline examples/phase_lab/phase_window_observation.example.json --candidate examples/phase_lab/phase_window_observation.example.json
52
+ pic-ts sqot diagnose-queue --graph effective_graph.json
53
+ pic-ts sqot salience-obstruction --graph effective_graph.json
54
+ pic-ts sqot rebalance --graph effective_graph.json
55
+ pic-ts sqot quarantine --graph effective_graph.json
56
+ pic-ts sqot reserve-check --graph effective_graph.json
57
+ pic-ts alt ecpt-lift --packets examples/packet_exchange/packet_envelope.example.json --graph effective_graph.json
58
+ pic-ts alt receiver-lift --packet examples/packet_exchange/packet_envelope.example.json --receiver-context examples/packet_exchange/packet_envelope.example.json
59
+ pic-ts alt liquidity-to-paths --packet examples/packet_exchange/packet_envelope.example.json --graph effective_graph.json
60
+ pic-ts alt capital-impact --reports examples/alt_lift/alt_ecpt_lift.example.json
61
+ pic-ts trc trace-adapter --input examples/trc_adapter/tool_trace_input.example.json
62
+ pic-ts trc tool-trace --events examples/trc_adapter/tool_trace_input.example.json
63
+ pic-ts trc action-boundary --report fixtures/python_v044_demo/runtime_step_report.json
64
+ ```
65
+
66
+ All of these routes are diagnostic or recommendation outputs. They keep
67
+ `settled=false` unless a finite verifier path has actually discharged the
68
+ scoped obligations.
@@ -0,0 +1,35 @@
1
+ # Effective Packet Graph
2
+
3
+ The effective packet graph is a local JSON report that separates useful packet
4
+ records from packet traffic that is only diagnostic. It helps an agent see which
5
+ reports can support later checks, which edges still need evidence, and which
6
+ items must not count as progress.
7
+
8
+ Use `pic-ts` for npm and Node.js projects:
9
+
10
+ ```sh
11
+ pic-ts phase lab graph --store .pic-lab --output effective_graph.json
12
+ pic-ts ecology effective-graph --reports report-a.json --reports report-b.json --output effective_graph.json
13
+ ```
14
+
15
+ ## How To Read It
16
+
17
+ - `nodes` are packet or report records stored as inert data.
18
+ - `edges` are claimed relationships between records.
19
+ - `accepted_packet_capital` counts only accepted, retrievable, non-blocked
20
+ records.
21
+ - `candidate_only_packets`, `missing_edge_evidence`, and `residual_summary`
22
+ explain why some material is not counted.
23
+ - `positive_phase_contribution` is false for raw external volume, registry
24
+ metadata, agent text alone, stale records, and candidate-only records.
25
+
26
+ ## Safety Boundary
27
+
28
+ The graph builder does not run packet content, shell text, `safe_commands`, npm
29
+ commands, Docker commands, or Kubernetes commands. It does not grant execution
30
+ authority and does not turn `accepted` or `workflow_usable` into `settled`.
31
+ Diagnostic graph reports keep `settled=false`.
32
+
33
+ Python `percolation-inversion-compiler==0.5.0` remains the canonical
34
+ implementation. PIC-TS mirrors the public JSON boundary for JavaScript agent
35
+ runtimes.
@@ -0,0 +1,44 @@
1
+ # Using PIC-TS From Agents
2
+
3
+ PIC-TS is a local JSON checker for JavaScript and TypeScript agent runtimes. It
4
+ helps an agent preserve what is accepted, what is usable for the next workflow
5
+ step, and what still needs evidence.
6
+
7
+ ## Recommended Loop
8
+
9
+ ```sh
10
+ pic-ts demo bootstrap --output-dir pic-demo --overwrite
11
+ pic-ts runtime step --state pic-demo/runtime_state.json --input pic-demo/runtime_step_input.json --output pic-demo/runtime_step_report.generated.json
12
+ pic-ts packet export --report pic-demo/runtime_step_report.generated.json --output pic-demo/packet.json
13
+ pic-ts packet inspect --packet pic-demo/packet.json
14
+ pic-ts phase lab init --output-dir pic-demo/phase-lab
15
+ pic-ts phase lab ingest --store pic-demo/phase-lab --report pic-demo/runtime_step_report.generated.json
16
+ pic-ts phase lab observe --store pic-demo/phase-lab --window latest
17
+ pic-ts phase lab graph --store pic-demo/phase-lab
18
+ pic-ts phase lab closure --store pic-demo/phase-lab
19
+ pic-ts phase lab executable-paths --store pic-demo/phase-lab
20
+ pic-ts phase lab certify --store pic-demo/phase-lab --threshold pic-demo/asi_proxy_development.json
21
+ pic-ts phase plan --request pic-demo/asi_proxy_phase_request.json --compact
22
+ ```
23
+
24
+ ## How To Read Status Fields
25
+
26
+ - `accepted`: this command accepted the JSON envelope.
27
+ - `workflow_usable`: the report can guide the next step.
28
+ - `operationally_usable`: the report passed stricter runtime checks for the
29
+ selected profile.
30
+ - `settled`: scoped finite obligations were discharged. Most diagnostic output
31
+ keeps this false.
32
+
33
+ These fields are deliberately separate. Do not treat accepted output or
34
+ workflow-usable output as completed work.
35
+
36
+ ## Safety Boundary
37
+
38
+ PIC-TS treats packet text, trace text, and command-like strings as inert data.
39
+ It reports strings such as `npm install`, `npx`, `node`, `docker run`,
40
+ `kubectl`, `curl`, `bash`, and `powershell`; it does not execute them.
41
+
42
+ PIC-TS does not grant authority to mutate repositories, shells, networks, model
43
+ weights, or external systems. Suggested commands are inspection hints for the
44
+ operator or host runtime.
@@ -0,0 +1,46 @@
1
+ # Phase Ecology Lab
2
+
3
+ Phase Ecology Lab is the v0.5.0 local workspace for inspecting groups of agent
4
+ reports as JSON records. It answers practical questions:
5
+
6
+ - Which packets are accepted?
7
+ - Which packets are only candidates?
8
+ - Which edges have evidence?
9
+ - Which obligations, blockers, or residual work remain?
10
+ - Which execution paths are only available as typed data?
11
+
12
+ The Python package `percolation-inversion-compiler==0.5.0` is canonical. PIC-TS
13
+ implements the npm and JavaScript runtime companion surface.
14
+
15
+ ## Store Layout
16
+
17
+ The TypeScript package uses a JSON/JSONL store:
18
+
19
+ ```text
20
+ manifest.json
21
+ events.jsonl
22
+ windows/latest.json
23
+ windows/<window-id>.json
24
+ exports/
25
+ ```
26
+
27
+ The store is local and deterministic. Source paths are saved as basenames only.
28
+ Absolute local paths are not part of public reports.
29
+
30
+ ## Positive Progress
31
+
32
+ Raw packet count and raw external volume are diagnostic only. A packet can
33
+ contribute to positive phase metrics only when it is accepted, retrievable,
34
+ within scope, not stale, not blocked by salience, not missing semantic evidence,
35
+ not missing authority, and not carrying unresolved residuals that prevent
36
+ promotion.
37
+
38
+ Candidate-only packets remain visible in the graph, but their positive
39
+ contribution is false and `settled` remains false.
40
+
41
+ ## Closure And Execution Paths
42
+
43
+ Closure reports and execution-available path reports are inspection records.
44
+ They do not execute paths. They do not prove real-world outcomes. They preserve
45
+ authority requirements, rollback requirements, blockers, and residual carry
46
+ forward.
@@ -0,0 +1,31 @@
1
+ # SQOT Queue Sovereignty
2
+
3
+ SQOT reports how an agent's attention or verification queue is occupied. It is
4
+ useful when many candidate packets exist but only some are worth review.
5
+
6
+ Use `pic-ts` for npm and Node.js projects:
7
+
8
+ ```sh
9
+ pic-ts sqot diagnose-queue --graph effective_graph.json --output queue_report.json
10
+ pic-ts sqot salience-obstruction --graph effective_graph.json --output obstruction.json
11
+ pic-ts sqot rebalance --graph effective_graph.json --output rebalance_plan.json
12
+ pic-ts sqot quarantine --graph effective_graph.json --output quarantine_decisions.json
13
+ pic-ts sqot reserve-check --graph effective_graph.json --output reserve_report.json
14
+ ```
15
+
16
+ ## How To Read It
17
+
18
+ - `queue_occupation` shows how much review capacity is taken by blocked or
19
+ candidate-only material.
20
+ - `verification_queue_pressure` shows whether missing obligations are piling up.
21
+ - `rebalance` and `quarantine` outputs are labels for human or agent review.
22
+ - `applied_action_count` stays zero unless an external system explicitly acts
23
+ outside PIC-TS.
24
+
25
+ ## Safety Boundary
26
+
27
+ PIC-TS does not delete packets, move files, change priorities in an external
28
+ queue, or automatically quarantine anything. SQOT output is inert JSON, not an
29
+ instruction stream. It does not imply settlement.
30
+
31
+ Python `percolation-inversion-compiler==0.5.0` remains canonical.
@@ -0,0 +1,30 @@
1
+ # Threshold Status And Certificate Candidates
2
+
3
+ Threshold status compares a Phase Lab observation against a local JSON
4
+ threshold. Certificate candidate output explains whether the available finite
5
+ checks are enough for a candidate report or whether the tool must abstain.
6
+
7
+ Use `pic-ts` for npm and Node.js projects:
8
+
9
+ ```sh
10
+ pic-ts phase lab threshold-status --store .pic-lab --threshold threshold.json --output threshold_status.json
11
+ pic-ts phase lab certify --store .pic-lab --threshold threshold.json --output certificate.json
12
+ ```
13
+
14
+ ## How To Read It
15
+
16
+ - `certificate_status = "candidate"` means the finite threshold fields passed
17
+ inside the declared protocol window.
18
+ - `certificate_status = "abstain"` means evidence or obligations are missing.
19
+ - `failed_components`, `defects`, and `abstention_report` show what remains.
20
+ - `real_asi_proof`, `physical_truth_proven`, and `oracle_truth_proven` remain
21
+ false.
22
+
23
+ ## Safety Boundary
24
+
25
+ Threshold reports are protocol-relative. A candidate certificate is not real
26
+ world proof, not execution permission, and not hidden settlement. PIC-TS keeps
27
+ `execution_authority_granted=false` and generally keeps `settled=false` for
28
+ these v0.5.0 diagnostic routes.
29
+
30
+ Python `percolation-inversion-compiler==0.5.0` remains canonical.
@@ -0,0 +1,30 @@
1
+ # TRC Typed Trace Adapter
2
+
3
+ The TRC adapter turns agent and tool-call logs into typed JSON trace records.
4
+ It is meant for inspection, replay planning, and boundary checks. It treats
5
+ trace content as data, not as commands to run.
6
+
7
+ Use `pic-ts` for npm and Node.js projects:
8
+
9
+ ```sh
10
+ pic-ts trc trace-adapter --input trace.json --output typed_trace.json
11
+ pic-ts trc tool-trace --events events.jsonl --output tool_trace.json
12
+ pic-ts trc action-boundary --report runtime_report.json --output action_boundary.json
13
+ ```
14
+
15
+ ## How To Read It
16
+
17
+ - `typed_trace.events` lists source, receiver, action kind, authority status,
18
+ rollback status, and evidence references.
19
+ - `frontier_debt` lists missing physical or oracle obligations.
20
+ - `normal_form` gives a stable trace summary for later checking.
21
+ - `executed_action_count` is always zero in PIC-TS.
22
+
23
+ ## Safety Boundary
24
+
25
+ Embedded text such as `npm install`, `npx`, `node`, `docker run`, `kubectl`,
26
+ `curl`, `bash`, or `powershell` is reported only as data. PIC-TS does not run
27
+ trace content, does not grant authority, and does not settle physical or oracle
28
+ claims.
29
+
30
+ Python `percolation-inversion-compiler==0.5.0` remains canonical.