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.
- package/CHANGELOG.md +8 -0
- package/README.md +77 -22
- package/agent-manifest.json +50 -0
- package/dist/alt_lift/index.d.ts +7 -0
- package/dist/alt_lift/index.js +101 -0
- package/dist/bit_engine/index.d.ts +8 -0
- package/dist/bit_engine/index.js +213 -0
- package/dist/cli/main.js +2106 -162
- package/dist/index.d.ts +5 -0
- package/dist/index.js +1611 -16
- package/dist/phase_lab/index.d.ts +26 -0
- package/dist/phase_lab/index.js +1124 -0
- package/dist/sqot_controller/index.d.ts +8 -0
- package/dist/sqot_controller/index.js +141 -0
- package/dist/trc_adapter/index.d.ts +6 -0
- package/dist/trc_adapter/index.js +86 -0
- package/docs/alt-ecpt-lift.md +32 -0
- package/docs/bit-inversion-engine.md +32 -0
- package/docs/cli-reference.md +68 -0
- package/docs/effective-packet-graph.md +35 -0
- package/docs/for-agents.md +44 -0
- package/docs/phase-ecology-lab.md +46 -0
- package/docs/sqot-queue-sovereignty.md +31 -0
- package/docs/threshold-certificates.md +30 -0
- package/docs/trc-trace-adapter.md +30 -0
- package/docs/v050-audit.md +126 -0
- package/examples/alt_lift/alt_ecpt_lift.example.json +27 -0
- package/examples/bit_engine/bottlenecks.example.json +38 -0
- package/examples/bit_engine/inversion_candidates.example.json +55 -0
- package/examples/packet_exchange/packet_envelope.example.json +51 -0
- package/examples/packet_exchange/packet_merge_report.example.json +60 -0
- package/examples/phase_lab/certificate_abstain.example.json +39 -0
- package/examples/phase_lab/closure_report.example.json +41 -0
- package/examples/phase_lab/effective_graph.example.json +112 -0
- package/examples/phase_lab/executable_paths.example.json +20 -0
- package/examples/phase_lab/phase_window_observation.example.json +61 -0
- package/examples/phase_lab/runtime_report_1.json +19 -0
- package/examples/phase_lab/runtime_report_2.json +16 -0
- package/examples/phase_lab/threshold_status.example.json +31 -0
- package/examples/sqot_controller/queue_report.example.json +30 -0
- package/examples/sqot_controller/rebalance_plan.example.json +14 -0
- package/examples/thresholds/asi_proxy_development.json +15 -0
- package/examples/trc_adapter/tool_trace_input.example.json +17 -0
- package/examples/trc_adapter/typed_trace.example.json +64 -0
- package/fixtures/portability_conformance_v050/certificate_abstain.example.json +39 -0
- package/fixtures/portability_conformance_v050/closure_report.example.json +39 -0
- package/fixtures/portability_conformance_v050/effective_graph.example.json +112 -0
- package/fixtures/portability_conformance_v050/executable_paths.example.json +20 -0
- package/fixtures/portability_conformance_v050/manifest.json +55 -0
- package/fixtures/portability_conformance_v050/phase_lab_event_1.json +51 -0
- package/fixtures/portability_conformance_v050/phase_lab_event_2.json +55 -0
- package/fixtures/portability_conformance_v050/phase_window_observation.example.json +61 -0
- package/fixtures/portability_conformance_v050/runtime_report_1.json +19 -0
- package/fixtures/portability_conformance_v050/runtime_report_2.json +14 -0
- package/fixtures/portability_conformance_v050/threshold_status.example.json +29 -0
- package/fixtures/python_v044_cli/agent_autonomy_audit.json +4 -3
- package/fixtures/python_v044_cli/agent_manifest.json +2 -1
- package/fixtures/python_v044_cli/agent_runbook.json +2 -1
- package/fixtures/python_v044_cli/demo_installed_smoke.json +86 -86
- package/fixtures/python_v044_demo/manifest.json +2 -1
- package/fixtures/python_v050_cli/alt_capital_impact.json +30 -0
- package/fixtures/python_v050_cli/alt_ecpt_lift.json +85 -0
- package/fixtures/python_v050_cli/alt_liquidity_to_paths.json +85 -0
- package/fixtures/python_v050_cli/alt_receiver_lift.json +15 -0
- package/fixtures/python_v050_cli/bit_certificate.json +15 -0
- package/fixtures/python_v050_cli/bit_compare_baseline.json +24 -0
- package/fixtures/python_v050_cli/bit_diagnose.json +95 -0
- package/fixtures/python_v050_cli/bit_invert.json +235 -0
- package/fixtures/python_v050_cli/bit_mec.json +18 -0
- package/fixtures/python_v050_cli/ecology_effective_graph.json +178 -0
- package/fixtures/python_v050_cli/ecology_execution_available_paths.json +88 -0
- package/fixtures/python_v050_cli/manifest.json +48 -0
- package/fixtures/python_v050_cli/phase_lab_certify.json +443 -0
- package/fixtures/python_v050_cli/phase_lab_closure.json +85 -0
- package/fixtures/python_v050_cli/phase_lab_compare_window.json +24 -0
- package/fixtures/python_v050_cli/phase_lab_executable_paths.json +88 -0
- package/fixtures/python_v050_cli/phase_lab_graph.json +178 -0
- package/fixtures/python_v050_cli/phase_lab_ingest_1.json +105 -0
- package/fixtures/python_v050_cli/phase_lab_ingest_2.json +109 -0
- package/fixtures/python_v050_cli/phase_lab_init.json +20 -0
- package/fixtures/python_v050_cli/phase_lab_list_windows.json +63 -0
- package/fixtures/python_v050_cli/phase_lab_observe.json +108 -0
- package/fixtures/python_v050_cli/phase_lab_threshold_status.json +164 -0
- package/fixtures/python_v050_cli/sqot_diagnose_queue.json +38 -0
- package/fixtures/python_v050_cli/sqot_quarantine.json +7 -0
- package/fixtures/python_v050_cli/sqot_rebalance.json +19 -0
- package/fixtures/python_v050_cli/sqot_reserve_check.json +20 -0
- package/fixtures/python_v050_cli/sqot_salience_obstruction.json +19 -0
- package/fixtures/python_v050_cli/trc_action_boundary.json +451 -0
- package/fixtures/python_v050_cli/trc_tool_trace.json +221 -0
- package/fixtures/python_v050_cli/trc_trace_adapter.json +221 -0
- package/fixtures/python_v050_demo/asi_proxy_development.json +15 -0
- package/fixtures/python_v050_demo/certificate_abstain.example.json +39 -0
- package/fixtures/python_v050_demo/closure_report.example.json +39 -0
- package/fixtures/python_v050_demo/effective_graph.example.json +112 -0
- package/fixtures/python_v050_demo/executable_paths.example.json +20 -0
- package/fixtures/python_v050_demo/phase_window_observation.example.json +61 -0
- package/fixtures/python_v050_demo/runtime_report_1.json +19 -0
- package/fixtures/python_v050_demo/runtime_report_2.json +14 -0
- package/fixtures/python_v050_demo/threshold_status.example.json +29 -0
- package/fixtures/python_v050_snapshots/manifest.json +39 -0
- package/fixtures/python_v050_snapshots/snapshot_list.json +112 -0
- package/fixtures/python_v050_snapshots/snapshot_routes.json +926 -0
- package/fixtures/python_v050_snapshots/snapshot_show_alt.json +6830 -0
- package/fixtures/python_v050_snapshots/snapshot_show_bit.json +594 -0
- package/fixtures/python_v050_snapshots/snapshot_show_ecpt.json +2894 -0
- package/fixtures/python_v050_snapshots/snapshot_show_sqot.json +2392 -0
- package/fixtures/python_v050_snapshots/snapshot_show_trc.json +3037 -0
- package/fixtures/python_v050_snapshots/snapshot_verify_alt.json +10 -0
- package/fixtures/python_v050_snapshots/snapshot_verify_bit.json +10 -0
- package/fixtures/python_v050_snapshots/snapshot_verify_ecpt.json +10 -0
- package/fixtures/python_v050_snapshots/snapshot_verify_sqot.json +10 -0
- package/fixtures/python_v050_snapshots/snapshot_verify_trc.json +10 -0
- package/package.json +45 -3
- package/schemas/ASIProxyThresholdSpec.schema.json +72 -0
- package/schemas/ASIProxyThresholdStatus.schema.json +512 -0
- package/schemas/ActionBoundaryRequirement.schema.json +28 -0
- package/schemas/ActivationGainEstimate.schema.json +41 -0
- package/schemas/AltEcptLiftReport.schema.json +400 -0
- package/schemas/AltLiftBlocker.schema.json +34 -0
- package/schemas/AttentionBudgetLedger.schema.json +41 -0
- package/schemas/AutocatalyticClosureReport.schema.json +408 -0
- package/schemas/AutocatalyticClosureWitness.schema.json +22 -139
- package/schemas/BasinReachabilityProxy.schema.json +21 -0
- package/schemas/BottleneckClassDiagnosis.schema.json +115 -0
- package/schemas/BottleneckInversionCandidate.schema.json +249 -0
- package/schemas/BottleneckInversionReport.schema.json +499 -0
- package/schemas/CapabilityExpressionPath.schema.json +45 -0
- package/schemas/CapitalToPathContribution.schema.json +53 -0
- package/schemas/ClosureAbstentionReason.schema.json +25 -0
- package/schemas/ClosureCertificateCandidate.schema.json +109 -0
- package/schemas/ClosureDefect.schema.json +28 -0
- package/schemas/ClosureSupportHyperpath.schema.json +44 -0
- package/schemas/CollectivePhaseAbstentionReport.schema.json +591 -0
- package/schemas/CollectivePhaseCertificateCandidate.schema.json +688 -0
- package/schemas/CrossContextTransferWitness.schema.json +46 -0
- package/schemas/DiagnosticReserveReport.schema.json +87 -0
- package/schemas/DownstreamSearchCostDelta.schema.json +46 -0
- package/schemas/EcologyAutocatalyticClosureWitness.schema.json +187 -0
- package/schemas/EffectiveGraphResidualSummary.schema.json +38 -0
- package/schemas/EffectivePacketEdge.schema.json +135 -0
- package/schemas/EffectivePacketEligibility.schema.json +84 -0
- package/schemas/EffectivePacketGraph.schema.json +461 -0
- package/schemas/EffectivePacketGraphBuildReport.schema.json +521 -0
- package/schemas/EffectivePacketNode.schema.json +199 -0
- package/schemas/ExecutableClosureWitness.schema.json +47 -0
- package/schemas/ExecutablePathDensityReport.schema.json +314 -0
- package/schemas/ExecutionAuthorityStatus.schema.json +28 -0
- package/schemas/ExecutionAvailableHyperpath.schema.json +201 -0
- package/schemas/ExecutionPathDefect.schema.json +28 -0
- package/schemas/ExecutionPathWitness.schema.json +44 -0
- package/schemas/FalseLiquidityLoad.schema.json +21 -0
- package/schemas/GeneralIntakePolicy.schema.json +1 -1
- package/schemas/InversionCertificate.schema.json +56 -0
- package/schemas/LiquidityToClosureContribution.schema.json +53 -0
- package/schemas/MinimalEnablingCondition.schema.json +48 -0
- package/schemas/PacketContributionStatus.schema.json +32 -0
- package/schemas/PacketQuarantineDecision.schema.json +50 -0
- package/schemas/PhaseCertificateDefect.schema.json +33 -0
- package/schemas/PhaseComponentObservation.schema.json +39 -0
- package/schemas/PhaseLabEvent.schema.json +123 -0
- package/schemas/PhaseLabExportManifest.schema.json +127 -0
- package/schemas/PhaseLabIngestReport.schema.json +344 -0
- package/schemas/PhaseLabStoreManifest.schema.json +73 -0
- package/schemas/PhaseLabWindowIndex.schema.json +78 -0
- package/schemas/PhaseThresholdStatus.schema.json +51 -0
- package/schemas/PhaseWindow.schema.json +31 -0
- package/schemas/PhaseWindowComparison.schema.json +67 -0
- package/schemas/PhaseWindowObservation.schema.json +353 -0
- package/schemas/PostInversionAuditPlan.schema.json +38 -0
- package/schemas/ProductiveClosureWitness.schema.json +49 -0
- package/schemas/ProvenanceManifest.schema.json +1 -1
- package/schemas/QueueOccupationReport.schema.json +156 -0
- package/schemas/QueueRebalancePlan.schema.json +114 -0
- package/schemas/ReceiverContextSupport.schema.json +23 -0
- package/schemas/ReceiverLiquidityLift.schema.json +58 -0
- package/schemas/ReleaseArtifactManifest.schema.json +1 -1
- package/schemas/ReversibleSalienceSovereigntyCertificate.schema.json +53 -0
- package/schemas/RollbackOrDeactivationPlan.schema.json +38 -0
- package/schemas/SBOMManifest.schema.json +1 -1
- package/schemas/SalienceObstructionDiagnosis.schema.json +55 -0
- package/schemas/SalienceObstructionLoad.schema.json +21 -0
- package/schemas/SemanticEdgeEvidence.schema.json +40 -0
- package/schemas/TraceAdapterReport.schema.json +405 -0
- package/schemas/TraceFrontierDebt.schema.json +43 -0
- package/schemas/TraceNormalForm.schema.json +181 -0
- package/schemas/TraceToleranceLedger.schema.json +29 -0
- package/schemas/TypedActionBoundary.schema.json +58 -0
- package/schemas/TypedAgentTrace.schema.json +328 -0
- package/schemas/TypedToolCallTrace.schema.json +76 -0
- package/schemas/VerificationQueuePressure.schema.json +41 -0
- package/schemas/VerificationThroughputWindow.schema.json +21 -0
- package/schemas/WasteLoad.schema.json +21 -0
- package/schemas/WebFetchPolicy.schema.json +1 -1
- package/schemas/bundle.schema.json +11854 -2075
- package/schemas/index.json +445 -0
- 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.
|