soturail 0.9.0 → 0.10.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 (62) hide show
  1. package/README.md +47 -8
  2. package/dist/cli.js +8 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/dashboard.d.ts +2 -0
  5. package/dist/commands/dashboard.js +14 -0
  6. package/dist/commands/dashboard.js.map +1 -0
  7. package/dist/commands/mcp.js +5 -0
  8. package/dist/commands/mcp.js.map +1 -1
  9. package/dist/commands/obs.d.ts +2 -0
  10. package/dist/commands/obs.js +17 -0
  11. package/dist/commands/obs.js.map +1 -0
  12. package/dist/commands/report.d.ts +2 -0
  13. package/dist/commands/report.js +43 -0
  14. package/dist/commands/report.js.map +1 -0
  15. package/dist/commands/status.d.ts +2 -0
  16. package/dist/commands/status.js +22 -0
  17. package/dist/commands/status.js.map +1 -0
  18. package/dist/core/benchmark-rail.js +2 -2
  19. package/dist/core/benchmark-rail.js.map +1 -1
  20. package/dist/core/dashboard-rail.d.ts +6 -0
  21. package/dist/core/dashboard-rail.js +79 -0
  22. package/dist/core/dashboard-rail.js.map +1 -0
  23. package/dist/core/evidence-pack.js +16 -0
  24. package/dist/core/evidence-pack.js.map +1 -1
  25. package/dist/core/mcp-resources.d.ts +4 -0
  26. package/dist/core/mcp-resources.js +57 -3
  27. package/dist/core/mcp-resources.js.map +1 -1
  28. package/dist/core/observability-rail.d.ts +19 -0
  29. package/dist/core/observability-rail.js +109 -0
  30. package/dist/core/observability-rail.js.map +1 -0
  31. package/dist/core/release-preflight.js +17 -0
  32. package/dist/core/release-preflight.js.map +1 -1
  33. package/dist/core/report-rail.d.ts +54 -0
  34. package/dist/core/report-rail.js +385 -0
  35. package/dist/core/report-rail.js.map +1 -0
  36. package/dist/core/report-redaction.d.ts +26 -0
  37. package/dist/core/report-redaction.js +85 -0
  38. package/dist/core/report-redaction.js.map +1 -0
  39. package/dist/core/status-model.d.ts +70 -0
  40. package/dist/core/status-model.js +254 -0
  41. package/dist/core/status-model.js.map +1 -0
  42. package/dist/core/version.d.ts +1 -1
  43. package/dist/core/version.js +1 -1
  44. package/dist/core/version.js.map +1 -1
  45. package/docs/agent-readable-reports.md +45 -0
  46. package/docs/agents.md +14 -0
  47. package/docs/benchmarking.md +8 -2
  48. package/docs/dashboard-rail.md +24 -0
  49. package/docs/evaluation-suite.md +10 -0
  50. package/docs/mcp-report-resources.md +31 -0
  51. package/docs/mcp.md +8 -0
  52. package/docs/native-runner.md +4 -0
  53. package/docs/observability-rail.md +22 -0
  54. package/docs/project-brain.md +14 -0
  55. package/docs/release-workflow.md +15 -1
  56. package/docs/releases/README.md +1 -0
  57. package/docs/releases/RELEASE_NOTES_v0.10.0.md +26 -0
  58. package/docs/report-rail.md +36 -0
  59. package/docs/report-redaction.md +20 -0
  60. package/docs/status-command.md +23 -0
  61. package/docs/workflow-rail.md +16 -0
  62. package/package.json +1 -1
package/README.md CHANGED
@@ -26,9 +26,9 @@ SotuRail is not the agent, not a Claude-only harness, not a Mermaid-only workflo
26
26
 
27
27
  ## Project Status
28
28
 
29
- v0.9.0 is the benchmark-gated native/performance milestone. TypeScript mode remains the default stable path. Native Rust mode is optional and must be justified by local benchmark evidence before any speedup claim. Skill Rail, MCP, context packs, agent exports, Workflow Rail, Memory Rail, Context Intelligence, Policy Rail, evidence packs, the host-aware Agent Runtime Adapter, Diagram Rail, the local evaluation suite and Project Brain are local-first and benchmarkable. External comparisons are optional and user-provided.
29
+ v0.10.0 is the local reports, observability and dashboard milestone. SotuRail now builds unified status artifacts, local reports, a static dashboard, observability timelines, GitHub step summaries, agent-readable report handoffs and read-only MCP report resources. Skill Rail, MCP, context packs, agent exports, Workflow Rail, Memory Rail, Context Intelligence, Policy Rail, evidence packs, the host-aware Agent Runtime Adapter, Diagram Rail, the local evaluation suite, Project Brain and Benchmark Rail remain local-first and evidence-driven.
30
30
 
31
- The next product direction is staged: v0.9.x hardens benchmark/native evidence and v1.0.0 stabilizes the Context OS surface. See [ROADMAP.md](ROADMAP.md) and [docs/future-rails-index.md](docs/future-rails-index.md).
31
+ The next product direction is staged: v0.10.x hardens local reports and v1.0.0 stabilizes the Context OS surface. See [ROADMAP.md](ROADMAP.md) and [docs/future-rails-index.md](docs/future-rails-index.md).
32
32
 
33
33
  ## v0.5.x MVP Rails
34
34
 
@@ -154,6 +154,37 @@ v0.9.0 adds stable local benchmark reports under `.soturail/bench/`, native cand
154
154
 
155
155
  The rule is simple: no benchmark, no native rewrite. SotuRail does not claim native speedups unless a local benchmark report proves them. Native acceleration is optional; TypeScript remains the portable baseline and normal npm installs do not require Rust.
156
156
 
157
+ ## v0.10.0 Local Reports, Observability And Dashboard
158
+
159
+ ```bash
160
+ soturail status --json
161
+ soturail status --md
162
+ soturail status --agent
163
+
164
+ soturail report build
165
+ soturail report latest
166
+ soturail report export --format html
167
+ soturail report doctor
168
+ soturail report redact
169
+ soturail report github-summary
170
+ soturail report agent --agent codex
171
+ soturail report diff
172
+
173
+ soturail dashboard build
174
+ soturail dashboard doctor
175
+
176
+ soturail obs collect
177
+ soturail obs summary
178
+ soturail obs timeline
179
+ soturail obs export
180
+
181
+ soturail mcp resources report
182
+ ```
183
+
184
+ v0.10.0 writes local status artifacts under `.soturail/status/`, local reports under `.soturail/reports/`, a static dashboard under `.soturail/dashboard/`, observability events under `.soturail/observability/` and read-only MCP report resources under `.soturail/mcp/report-resources.json`.
185
+
186
+ SotuRail reports are local artifacts. They are designed for humans, CI and coding agents. They do not upload telemetry or require a dashboard server.
187
+
157
188
  ## Why SotuRail Exists
158
189
 
159
190
  AI coding agents often receive too much unstable context: full files, noisy test logs, repeated terminal output and long conversational summaries. SotuRail is designed to unify those workflows into one independent local-first tool without sending telemetry or inventing provider metrics.
@@ -233,8 +264,9 @@ The next roadmap stage keeps performance evidence honest while preparing the sta
233
264
  - compare more real-world benchmark fixtures before approving native hot paths;
234
265
  - keep TypeScript fallback mandatory for every native candidate;
235
266
  - expand parser and graph seeds only as local, heuristic, optional tools;
236
- - harden release evidence around benchmark/native/baseline reports;
237
- - future local UI/report mode: HTML reports first, Mermaid rendering and MCP Apps/AG-UI-style event surfaces later.
267
+ - harden report redaction and status aggregation across more rails;
268
+ - expand static local report pages before any optional server mode;
269
+ - keep MCP report resources read-only and mutation-free.
238
270
 
239
271
  ## Future Rails Documentation
240
272
 
@@ -253,6 +285,13 @@ Future planning is split across focused docs so the roadmap does not become the
253
285
  - [Benchmarking](docs/benchmarking.md)
254
286
  - [Native Performance Policy](docs/native-performance-policy.md)
255
287
  - [Baseline Snapshots](docs/baseline-snapshots.md)
288
+ - [Status Command](docs/status-command.md)
289
+ - [Report Rail](docs/report-rail.md)
290
+ - [Dashboard Rail](docs/dashboard-rail.md)
291
+ - [Observability Rail](docs/observability-rail.md)
292
+ - [Agent-Readable Reports](docs/agent-readable-reports.md)
293
+ - [MCP Report Resources](docs/mcp-report-resources.md)
294
+ - [Report Redaction](docs/report-redaction.md)
256
295
  - [Code Graph Seed](docs/code-graph.md)
257
296
  - [Roadmap Addendum](docs/roadmap-harness-diagram-payload-addendum.md)
258
297
 
@@ -273,10 +312,10 @@ soturail --help
273
312
  soturail --version
274
313
  ```
275
314
 
276
- When v0.9.0 is published, install that exact version with:
315
+ When v0.10.0 is published, install that exact version with:
277
316
 
278
317
  ```bash
279
- npm install -g soturail@0.9.0
318
+ npm install -g soturail@0.10.0
280
319
  ```
281
320
 
282
321
  For local development from source:
@@ -531,7 +570,7 @@ The latest report is written to [benchmarks/reports/latest.md](benchmarks/report
531
570
 
532
571
  Local token counts are deterministic estimates. SotuRail reports raw payload tokens, reduced payload tokens, metadata overhead and net estimated tokens. For tiny outputs, compression may be ineffective once recovery metadata is included; SotuRail says that directly while preserving raw recovery paths.
533
572
 
534
- Benchmark Rail 2.0 writes `.soturail/bench/latest.json`, `.soturail/bench/latest.md`, `benchmarks/reports/bench-v0.9.0.json` and `benchmarks/reports/bench-v0.9.0.md`. It covers `brain-scan`, `brain-stale`, `brain-consolidate`, `reverse-claims`, `reducer-large-log`, `jsonl-read-write`, `range-hash`, `file-scan`, `workflow-evidence`, `format-compare`, `json-validate` and `release-preflight`.
573
+ Benchmark Rail 2.0 writes `.soturail/bench/latest.json`, `.soturail/bench/latest.md` and versioned reports such as `benchmarks/reports/bench-v0.10.0.json`. It covers `brain-scan`, `brain-stale`, `brain-consolidate`, `reverse-claims`, `reducer-large-log`, `jsonl-read-write`, `range-hash`, `file-scan`, `workflow-evidence`, `format-compare`, `json-validate` and `release-preflight`.
535
574
 
536
575
  ## Knowledge-to-Rules Engine
537
576
 
@@ -606,7 +645,7 @@ v0.7.0 Workflow Rail 2.0 + Harness Rail + Diagram Rail + .spec.md visual contra
606
645
  v0.8.0 Verified Project Brain + Reverse Specification Rail
607
646
  v0.8.1 Project Brain polish, stale-evidence quality and agent-brief improvements
608
647
  v0.9.0 Benchmark-gated native/performance engine
609
- v0.10.0 Local reports, traces, Mermaid rendering and dashboard
648
+ v0.10.0 Local reports, observability timeline and static dashboard
610
649
  v1.0.0 Stable Context OS
611
650
  ```
612
651
 
package/dist/cli.js CHANGED
@@ -21,16 +21,20 @@ import { registerInitCommand } from "./commands/init.js";
21
21
  import { registerMemoryCommand } from "./commands/memory.js";
22
22
  import { registerMcpCommand } from "./commands/mcp.js";
23
23
  import { registerNativeCommand } from "./commands/native.js";
24
+ import { registerObsCommand } from "./commands/obs.js";
24
25
  import { registerContextCommand } from "./commands/context.js";
26
+ import { registerDashboardCommand } from "./commands/dashboard.js";
25
27
  import { registerReadCommand } from "./commands/read.js";
26
28
  import { registerPolicyCommand } from "./commands/policy.js";
27
29
  import { registerRunCommand } from "./commands/run.js";
30
+ import { registerReportCommand } from "./commands/report.js";
28
31
  import { registerReverseCommand } from "./commands/reverse.js";
29
32
  import { registerRulesCommand } from "./commands/rules.js";
30
33
  import { registerSelfCommand } from "./commands/self.js";
31
34
  import { registerSkillsCommand } from "./commands/skills.js";
32
35
  import { registerSpecCommand } from "./commands/spec.js";
33
36
  import { registerStatsCommand } from "./commands/stats.js";
37
+ import { registerStatusCommand } from "./commands/status.js";
34
38
  import { registerReleaseCommand } from "./commands/release.js";
35
39
  import { registerValidateCommand } from "./commands/validate.js";
36
40
  import { registerWorkflowCommand } from "./commands/workflow.js";
@@ -51,6 +55,7 @@ export function buildProgram() {
51
55
  registerRunCommand(program);
52
56
  registerBenchCommand(program);
53
57
  registerContextCommand(program);
58
+ registerDashboardCommand(program);
54
59
  registerDedupeCommand(program);
55
60
  registerDiagramCommand(program);
56
61
  registerEvalCommand(program);
@@ -64,12 +69,15 @@ export function buildProgram() {
64
69
  registerMemoryCommand(program);
65
70
  registerMcpCommand(program);
66
71
  registerNativeCommand(program);
72
+ registerObsCommand(program);
67
73
  registerPolicyCommand(program);
74
+ registerReportCommand(program);
68
75
  registerRulesCommand(program);
69
76
  registerReverseCommand(program);
70
77
  registerReleaseCommand(program);
71
78
  registerSelfCommand(program);
72
79
  registerSkillsCommand(program);
80
+ registerStatusCommand(program);
73
81
  registerDoctorCommand(program);
74
82
  registerStatsCommand(program);
75
83
  registerValidateCommand(program);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerDashboardCommand(program: Command): void;
@@ -0,0 +1,14 @@
1
+ import { buildDashboard, dashboardDoctor, dashboardOpen } from "../core/dashboard-rail.js";
2
+ export function registerDashboardCommand(program) {
3
+ const dashboard = program.command("dashboard").description("Build and inspect a static local SotuRail dashboard.");
4
+ dashboard.command("build").description("Build static dashboard HTML and local data files.").action(async () => {
5
+ process.stdout.write((await buildDashboard()).output);
6
+ });
7
+ dashboard.command("open").description("Print the local dashboard HTML path.").action(async () => {
8
+ process.stdout.write(await dashboardOpen());
9
+ });
10
+ dashboard.command("doctor").description("Check dashboard files and no-network defaults.").action(async () => {
11
+ process.stdout.write(await dashboardDoctor());
12
+ });
13
+ }
14
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE3F,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,CAAC;IAEnH,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -3,6 +3,7 @@ import path from "node:path";
3
3
  import { ensureWorkspace, getWorkspacePaths, relativeToRoot } from "../core/config.js";
4
4
  import { mcpConfig } from "../core/agent-exporter.js";
5
5
  import { mcpExposureReport, renderMcpExposure } from "../core/mcp-exposure.js";
6
+ import { writeReportResourceManifest } from "../core/mcp-resources.js";
6
7
  import { mcpDoctor, mcpManifest, mcpSmoke, serveMcpStdio } from "../core/mcp-server.js";
7
8
  import { SOTURAIL_VERSION } from "../core/version.js";
8
9
  export function registerMcpCommand(program) {
@@ -13,6 +14,10 @@ export function registerMcpCommand(program) {
13
14
  mcp.command("manifest").description("Print MCP resources and tools manifest.").action(async () => {
14
15
  process.stdout.write(`${JSON.stringify(await mcpManifest(SOTURAIL_VERSION), null, 2)}\n`);
15
16
  });
17
+ const resources = mcp.command("resources").description("Inspect read-only MCP resource manifests.");
18
+ resources.command("report").description("Write a static manifest for read-only report resources.").action(async () => {
19
+ process.stdout.write((await writeReportResourceManifest(process.cwd())).output);
20
+ });
16
21
  mcp.command("exposure").description("Report MCP tools/resources/prompts and risk notes.").option("--json", "Print machine-readable JSON").action(async (options) => {
17
22
  const report = await mcpExposureReport();
18
23
  process.stdout.write(options.json ? `${JSON.stringify(report, null, 2)}\n` : renderMcpExposure(report));
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerObsCommand(program: Command): void;
@@ -0,0 +1,17 @@
1
+ import { collectObservability, observabilityExport, observabilitySummary, observabilityTimeline } from "../core/observability-rail.js";
2
+ export function registerObsCommand(program) {
3
+ const obs = program.command("obs").description("Collect local SotuRail observability events without telemetry upload.");
4
+ obs.command("collect").description("Collect events from local SotuRail artifacts.").action(async () => {
5
+ process.stdout.write((await collectObservability()).output);
6
+ });
7
+ obs.command("summary").description("Print the local observability summary.").action(async () => {
8
+ process.stdout.write(await observabilitySummary());
9
+ });
10
+ obs.command("timeline").description("Print the local observability timeline JSON.").action(async () => {
11
+ process.stdout.write(await observabilityTimeline());
12
+ });
13
+ obs.command("export").description("Print observability artifact paths.").action(async () => {
14
+ process.stdout.write(await observabilityExport());
15
+ });
16
+ }
17
+ //# sourceMappingURL=obs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obs.js","sourceRoot":"","sources":["../../src/commands/obs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEvI,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,uEAAuE,CAAC,CAAC;IAExH,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACpG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC7F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,8CAA8C,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACpG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACzF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerReportCommand(program: Command): void;
@@ -0,0 +1,43 @@
1
+ import { buildReport, exportReport, reportAgent, reportDiff, reportDoctor, reportGithubSummary, reportLatest, reportOpen, reportRedact } from "../core/report-rail.js";
2
+ export function registerReportCommand(program) {
3
+ const report = program.command("report").description("Build local SotuRail reports for humans, CI and agents.");
4
+ report.command("build").description("Aggregate local evidence into JSON, Markdown and HTML reports.").action(async () => {
5
+ process.stdout.write((await buildReport()).output);
6
+ });
7
+ report.command("latest").description("Print the latest report summary and paths.").action(async () => {
8
+ process.stdout.write(await reportLatest());
9
+ });
10
+ report.command("open").description("Print the local HTML report path.").action(async () => {
11
+ process.stdout.write(await reportOpen());
12
+ });
13
+ report.command("export").description("Export latest report in a specific format.").requiredOption("--format <format>", "html, md, or json").action(async (options) => {
14
+ const format = parseFormat(options.format);
15
+ process.stdout.write((await exportReport(process.cwd(), format)).output);
16
+ });
17
+ report.command("doctor").description("Check report presence, evidence paths and safety.").action(async () => {
18
+ process.stdout.write((await reportDoctor()).output);
19
+ });
20
+ report.command("redact").description("Write redacted copies of latest report artifacts.").action(async () => {
21
+ process.stdout.write(await reportRedact());
22
+ });
23
+ report.command("github-summary").description("Write a GitHub Actions step summary artifact.").action(async () => {
24
+ process.stdout.write(await reportGithubSummary());
25
+ });
26
+ report.command("agent").description("Write an agent-readable report.").requiredOption("--agent <agent>", "codex, claude, gemini, or generic").action(async (options) => {
27
+ process.stdout.write(await reportAgent(process.cwd(), parseAgent(options.agent)));
28
+ });
29
+ report.command("diff").description("Compare latest report with previous report history.").action(async () => {
30
+ process.stdout.write(await reportDiff());
31
+ });
32
+ }
33
+ function parseFormat(value) {
34
+ if (value === "html" || value === "md" || value === "json")
35
+ return value;
36
+ throw new Error("Supported report formats: html, md, json.");
37
+ }
38
+ function parseAgent(value) {
39
+ if (value === "codex" || value === "claude" || value === "gemini" || value === "generic")
40
+ return value;
41
+ throw new Error("Supported report agents: codex, claude, gemini, generic.");
42
+ }
43
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,YAAY,EAGb,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yDAAyD,CAAC,CAAC;IAEhH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,gEAAgE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACtH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACnG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACxF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QACvL,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC9G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC,cAAc,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QACxL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,qDAAqD,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACzE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvG,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerStatusCommand(program: Command): void;
@@ -0,0 +1,22 @@
1
+ import { buildStatus, renderStatusAgent, renderStatusMarkdown } from "../core/status-model.js";
2
+ export function registerStatusCommand(program) {
3
+ program
4
+ .command("status")
5
+ .description("Build a unified local SotuRail status model.")
6
+ .option("--json", "Print JSON status")
7
+ .option("--md", "Print Markdown status")
8
+ .option("--agent", "Print concise agent-safe status")
9
+ .action(async (options) => {
10
+ const result = await buildStatus(process.cwd());
11
+ if (options.json) {
12
+ process.stdout.write(`${JSON.stringify(result.status, null, 2)}\n`);
13
+ return;
14
+ }
15
+ if (options.agent) {
16
+ process.stdout.write(renderStatusAgent(result.status));
17
+ return;
18
+ }
19
+ process.stdout.write(renderStatusMarkdown(result.status));
20
+ });
21
+ }
22
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC;SACrC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;SACvC,MAAM,CAAC,SAAS,EAAE,iCAAiC,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAA0D,EAAE,EAAE;QAC3E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -245,8 +245,8 @@ function benchmarkReportPaths(root) {
245
245
  return {
246
246
  latestJson: path.join(getWorkspacePaths(root).workspace, "bench", "latest.json"),
247
247
  latestMd: path.join(getWorkspacePaths(root).workspace, "bench", "latest.md"),
248
- versionedJson: path.join(root, "benchmarks", "reports", "bench-v0.9.0.json"),
249
- versionedMd: path.join(root, "benchmarks", "reports", "bench-v0.9.0.md")
248
+ versionedJson: path.join(root, "benchmarks", "reports", `bench-v${SOTURAIL_VERSION}.json`),
249
+ versionedMd: path.join(root, "benchmarks", "reports", `bench-v${SOTURAIL_VERSION}.md`)
250
250
  };
251
251
  }
252
252
  function renderBenchmarkMarkdown(report, root) {
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-rail.js","sourceRoot":"","sources":["../../src/core/benchmark-rail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark-rail.js","sourceRoot":"","sources":["../../src/core/benchmark-rail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function buildDashboard(root?: string): Promise<{
2
+ output: string;
3
+ index: string;
4
+ }>;
5
+ export declare function dashboardDoctor(root?: string): Promise<string>;
6
+ export declare function dashboardOpen(root?: string): Promise<string>;
@@ -0,0 +1,79 @@
1
+ import { existsSync } from "node:fs";
2
+ import { promises as fs } from "node:fs";
3
+ import path from "node:path";
4
+ import { getWorkspacePaths, relativeToRoot, writeJson } from "./config.js";
5
+ import { buildReport, readLatestReport, renderReportHtml } from "./report-rail.js";
6
+ import { buildStatus } from "./status-model.js";
7
+ export async function buildDashboard(root = process.cwd()) {
8
+ const paths = getWorkspacePaths(root);
9
+ const dashboardDir = path.join(paths.workspace, "dashboard");
10
+ const dataDir = path.join(dashboardDir, "data");
11
+ const assetsDir = path.join(dashboardDir, "assets");
12
+ await fs.mkdir(dataDir, { recursive: true });
13
+ await fs.mkdir(assetsDir, { recursive: true });
14
+ const report = await readLatestReport(root) ?? (await buildReport(root)).report;
15
+ const status = (await buildStatus(root)).status;
16
+ await writeJson(path.join(dataDir, "report.json"), report);
17
+ await writeJson(path.join(dataDir, "status.json"), status);
18
+ await fs.writeFile(path.join(assetsDir, "README.txt"), "Static local SotuRail dashboard assets. No external CDN or telemetry.\n", "utf8");
19
+ const index = path.join(dashboardDir, "index.html");
20
+ await fs.writeFile(index, dashboardHtml(report, status), "utf8");
21
+ return {
22
+ index,
23
+ output: [
24
+ "SotuRail dashboard build",
25
+ `index: ${relativeToRoot(root, index)}`,
26
+ `report_data: ${relativeToRoot(root, path.join(dataDir, "report.json"))}`,
27
+ `status_data: ${relativeToRoot(root, path.join(dataDir, "status.json"))}`,
28
+ "server_required: false"
29
+ ].join("\n") + "\n"
30
+ };
31
+ }
32
+ export async function dashboardDoctor(root = process.cwd()) {
33
+ const paths = getWorkspacePaths(root);
34
+ const dashboardDir = path.join(paths.workspace, "dashboard");
35
+ const index = path.join(dashboardDir, "index.html");
36
+ const report = path.join(dashboardDir, "data", "report.json");
37
+ const status = path.join(dashboardDir, "data", "status.json");
38
+ const html = await fs.readFile(index, "utf8").catch(() => "");
39
+ const external = /https?:\/\//i.test(html) || /<script\s+[^>]*src=/i.test(html) || /<link\s+[^>]*href=["']https?:\/\//i.test(html);
40
+ const tooLarge = html.length > 250_000;
41
+ const ok = existsSync(index) && existsSync(report) && existsSync(status) && !external && !tooLarge;
42
+ return [
43
+ "SotuRail dashboard doctor",
44
+ `ok: ${ok}`,
45
+ `index_html: ${existsSync(index) ? "present" : "missing"}`,
46
+ `report_data: ${existsSync(report) ? "present" : "missing"}`,
47
+ `status_data: ${existsSync(status) ? "present" : "missing"}`,
48
+ `external_network_refs: ${external}`,
49
+ `file_size_reasonable: ${!tooLarge}`,
50
+ "server_required: false"
51
+ ].join("\n") + "\n";
52
+ }
53
+ export async function dashboardOpen(root = process.cwd()) {
54
+ const index = path.join(getWorkspacePaths(root).workspace, "dashboard", "index.html");
55
+ return `Dashboard HTML: ${relativeToRoot(root, index)}\nOpen this local file in a browser if desired.\n`;
56
+ }
57
+ function dashboardHtml(report, status) {
58
+ const html = renderReportHtml(report);
59
+ const cards = [
60
+ ["Project Status", `dirty=${status.project.dirty}`],
61
+ ["Release Status", status.release.releaseCheck],
62
+ ["Brain Health", `${status.brain.claims} claims, ${status.brain.suspect} suspect/stale`],
63
+ ["Eval Summary", `${status.eval.passed} passed, ${status.eval.failed} failed`],
64
+ ["Benchmark Summary", `${status.bench.cases} cases, ${status.bench.warnings} warnings`],
65
+ ["Native Candidates", `${status.native.candidates} candidates, fallback=${status.native.fallback}`],
66
+ ["Baseline Snapshot", `${status.baseline.signalsPassed} passed, ${status.baseline.signalsFailed} failed`],
67
+ ["Workflow Evidence", status.workflow.latestEvidence ?? "missing"],
68
+ ["Harness Failures", String(status.harness.failures)],
69
+ ["Diagram Validation", status.diagram.validation],
70
+ ["Agent Readiness", status.agents.readiness],
71
+ ["Next Commands", status.nextCommands.join(" | ")]
72
+ ];
73
+ const body = cards.map(([title, value]) => `<section class="card"><h2>${escapeHtml(title)}</h2><p>${escapeHtml(value)}</p></section>`).join("\n");
74
+ return html.replace(/<main>[\s\S]*<\/main>/, `<main>${body}</main>`);
75
+ }
76
+ function escapeHtml(value) {
77
+ return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
78
+ }
79
+ //# sourceMappingURL=dashboard-rail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-rail.js","sourceRoot":"","sources":["../../src/core/dashboard-rail.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,12 @@ export async function buildWorkflowEvidence(id, root = process.cwd()) {
34
34
  const benchMdPath = path.join(paths.workspace, "bench", "latest.md");
35
35
  const nativeCandidatePath = path.join(paths.workspace, "native", "candidates.json");
36
36
  const baselinePath = path.join(paths.workspace, "baselines", "latest.json");
37
+ const statusJsonPath = path.join(paths.workspace, "status", "latest.json");
38
+ const reportJsonPath = path.join(paths.reportsDir, "latest.json");
39
+ const reportHtmlPath = path.join(paths.reportsDir, "latest.html");
40
+ const dashboardIndexPath = path.join(paths.workspace, "dashboard", "index.html");
41
+ const observabilityTimelinePath = path.join(paths.workspace, "observability", "timeline.json");
42
+ const mcpReportResourcesPath = path.join(paths.workspace, "mcp", "report-resources.json");
37
43
  const releaseNotesPath = packageVersion ? path.join(root, "docs", "releases", `RELEASE_NOTES_v${packageVersion}.md`) : "";
38
44
  const reportId = makeRailId("evidence", id);
39
45
  const reportPath = path.join(paths.reportsDir, `${reportId}.md`);
@@ -113,6 +119,16 @@ export async function buildWorkflowEvidence(id, root = process.cwd()) {
113
119
  `- engine_status: typescript fallback OK; native_available=${native?.available ?? false}`,
114
120
  "- performance_warnings: no native speedup claimed without a local benchmark report.",
115
121
  "",
122
+ "## Local Report And Observability Evidence",
123
+ "",
124
+ `- status_json: ${await exists(statusJsonPath) ? relativeToRoot(root, statusJsonPath) : "missing"}`,
125
+ `- report_json: ${await exists(reportJsonPath) ? relativeToRoot(root, reportJsonPath) : "missing"}`,
126
+ `- report_html: ${await exists(reportHtmlPath) ? relativeToRoot(root, reportHtmlPath) : "missing"}`,
127
+ `- dashboard_html: ${await exists(dashboardIndexPath) ? relativeToRoot(root, dashboardIndexPath) : "missing"}`,
128
+ `- observability_timeline: ${await exists(observabilityTimelinePath) ? relativeToRoot(root, observabilityTimelinePath) : "missing"}`,
129
+ `- mcp_report_resources: ${await exists(mcpReportResourcesPath) ? relativeToRoot(root, mcpReportResourcesPath) : "missing"}`,
130
+ "- report_policy: local artifacts only; no cloud telemetry upload; static dashboard by default.",
131
+ "",
116
132
  "## Release Evidence",
117
133
  "",
118
134
  `- package_version: ${packageVersion ?? "unknown"}`,