loomrail 0.1.0-alpha.4 → 0.1.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/README.md +65 -26
- package/apps/cli/dist/assets/{internal-sEVQ7RK4.js → internal-OdVh956X.js} +2043 -940
- package/apps/cli/dist/assets/process-tree-CBAUysF7.js +187 -0
- package/apps/cli/dist/index.js +36239 -9408
- package/apps/cli/dist/proxy.js +1 -1
- package/apps/cli/dist/supervisor.js +38 -95
- package/apps/cli/dist/verification-supervisor.js +504 -0
- package/apps/cli/migrations/0020_agent_runs.sql +174 -0
- package/apps/cli/migrations/0021_independent_review.sql +189 -0
- package/apps/cli/migrations/0022_browser_qa_evidence.sql +265 -0
- package/apps/cli/migrations/0023_measured_qa_artifact_provenance.sql +48 -0
- package/apps/cli/migrations/0024_qa_attachment_retention.sql +18 -0
- package/apps/cli/migrations/0025_qa_correction_lineage.sql +632 -0
- package/apps/cli/migrations/0026_evidence_authority_lineage.sql +294 -0
- package/apps/cli/migrations/0027_qa_defect_waiver_event.sql +68 -0
- package/apps/cli/migrations/0028_qa_correction_events.sql +70 -0
- package/apps/cli/migrations/0029_qa_defect_resolution_provenance.sql +30 -0
- package/apps/cli/migrations/0030_role_playbook_recipes.sql +56 -0
- package/apps/cli/migrations/0031_agent_run_policy_snapshots.sql +33 -0
- package/apps/cli/migrations/0032_provider_usage_reports.sql +51 -0
- package/apps/cli/migrations/0033_budget_model_tier_override.sql +3 -0
- package/apps/cli/migrations/0034_budget_agent_run_override.sql +3 -0
- package/apps/cli/migrations/0035_repeatable_recovery_reports.sql +48 -0
- package/apps/cli/migrations/0036_provider_allowance_snapshots.sql +83 -0
- package/apps/cli/migrations/0037_project_verification_plans.sql +110 -0
- package/apps/cli/migrations/0038_verification_runs.sql +150 -0
- package/apps/cli/migrations/0039_acceptance_verification_evidence.sql +7 -0
- package/apps/cli/migrations/0040_verification_failures.sql +164 -0
- package/apps/cli/migrations/0041_verification_output_retention.sql +8 -0
- package/apps/cli/migrations/0042_verification_correction_lineage.sql +442 -0
- package/apps/cli/migrations/0043_verification_correction_started_event.sql +76 -0
- package/apps/cli/migrations/0044_verification_correction_passed_event.sql +77 -0
- package/apps/cli/migrations/0045_verification_correction_loop_events.sql +78 -0
- package/apps/cli/migrations/0046_correction_budget_ledger.sql +131 -0
- package/apps/cli/migrations/0047_verification_qa_handoff.sql +124 -0
- package/apps/cli/migrations/0048_stale_verification_correction.sql +44 -0
- package/apps/cli/migrations/0049_interrupted_verification_correction.sql +48 -0
- package/apps/cli/migrations/0050_verification_plan_disabled_event.sql +78 -0
- package/apps/cli/migrations/0051_verification_cancellation_intent.sql +255 -0
- package/apps/cli/migrations/0052_readiness_catalog_v2.sql +82 -0
- package/apps/cli/migrations/0053_shared_workspace_strategy.sql +103 -0
- package/apps/cli/migrations/0054_remove_active_mock_provider.sql +5 -0
- package/apps/cli/migrations/0055_workspace_tool_calls.sql +161 -0
- package/apps/cli/migrations/0056_work_item_dependencies.sql +100 -0
- package/apps/cli/migrations/0057_workspace_tool_exact_edit.sql +102 -0
- package/apps/cli/migrations/0058_launch_measurements.sql +157 -0
- package/apps/cli/migrations/0059_launch_releases.sql +145 -0
- package/apps/cli/migrations/0060_guided_deployments.sql +179 -0
- package/apps/cli/migrations/0061_environment_bound_deployments.sql +103 -0
- package/apps/web/dist/assets/index-DnefyhG4.js +13 -0
- package/apps/web/dist/assets/index-DnefyhG4.js.map +1 -0
- package/apps/web/dist/assets/index-Ev7mo9dU.css +1 -0
- package/apps/web/dist/assets/radix-vendor-CRdHXIPR.js.map +1 -1
- package/apps/web/dist/assets/tanstack-vendor-Do8jh46X.js +2 -0
- package/apps/web/dist/assets/tanstack-vendor-Do8jh46X.js.map +1 -0
- package/apps/web/dist/assets/validation-vendor-BkeqxOpa.js +51 -0
- package/apps/web/dist/assets/validation-vendor-BkeqxOpa.js.map +1 -0
- package/apps/web/dist/index.html +4 -4
- package/fixtures/projects/api-service-b/README.md +14 -2
- package/fixtures/projects/api-service-b/SAMPLE-WORKFLOWS.md +52 -0
- package/fixtures/projects/api-service-b/package.json +9 -0
- package/fixtures/projects/api-service-b/src/issues.mjs +16 -0
- package/fixtures/projects/api-service-b/test/issues.test.mjs +26 -0
- package/fixtures/projects/web-app-a/README.md +22 -2
- package/fixtures/projects/web-app-a/SAMPLE-WORKFLOWS.md +52 -0
- package/fixtures/projects/web-app-a/package.json +10 -0
- package/fixtures/projects/web-app-a/src/server.mjs +28 -0
- package/fixtures/projects/web-app-a/src/tasks.mjs +38 -0
- package/fixtures/projects/web-app-a/test/server.test.mjs +19 -0
- package/fixtures/projects/web-app-a/test/tasks.test.mjs +27 -0
- package/package.json +8 -3
- package/apps/web/dist/assets/index-BXj2yqdr.js +0 -8
- package/apps/web/dist/assets/index-BXj2yqdr.js.map +0 -1
- package/apps/web/dist/assets/index-CGqbHGqg.css +0 -1
- package/apps/web/dist/assets/tanstack-vendor-ec08LVZ_.js +0 -2
- package/apps/web/dist/assets/tanstack-vendor-ec08LVZ_.js.map +0 -1
- package/apps/web/dist/assets/validation-vendor-Bbm-tCDI.js +0 -65
- package/apps/web/dist/assets/validation-vendor-Bbm-tCDI.js.map +0 -1
package/README.md
CHANGED
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
<a href="https://loomrail.github.io/loomrail/">Website</a> ·
|
|
6
6
|
<a href="docs/guides/GETTING-STARTED.md">Quick start</a> ·
|
|
7
7
|
<a href="docs/guides/GETTING-STARTED.ru.md">Быстрый старт</a> ·
|
|
8
|
-
<a href="docs/README.md">Documentation</a>
|
|
8
|
+
<a href="docs/README.md">Documentation</a> ·
|
|
9
|
+
<a href="ROADMAP.md">Roadmap</a>
|
|
9
10
|
</p>
|
|
10
11
|
<p>
|
|
11
12
|
<a href="https://github.com/loomrail/loomrail/actions/workflows/ci.yml"><img src="https://github.com/loomrail/loomrail/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
12
13
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-6173ff" alt="Apache 2.0 license" /></a>
|
|
13
|
-
<img src="https://img.shields.io/badge/status-
|
|
14
|
+
<img src="https://img.shields.io/badge/status-stable-2f6b52" alt="Stable status" />
|
|
14
15
|
<img src="https://img.shields.io/badge/Node.js-24.19-43853d" alt="Node.js 24.19" />
|
|
15
16
|
</p>
|
|
16
17
|
</div>
|
|
@@ -26,67 +27,95 @@ the source of truth.
|
|
|
26
27
|
</picture>
|
|
27
28
|
|
|
28
29
|
> [!IMPORTANT]
|
|
29
|
-
> Loomrail is
|
|
30
|
-
>
|
|
31
|
-
>
|
|
30
|
+
> Loomrail is Stable software for macOS on Apple Silicon. New projects use **Auto**, which selects only a
|
|
31
|
+
> compatible, signed-in local
|
|
32
|
+
> Codex CLI or Claude Code CLI. Loomrail does not ask for provider API keys or use separate API billing; a missing,
|
|
33
|
+
> incompatible, or signed-out CLI blocks startup instead of falling back. Loomrail never creates provider credentials,
|
|
32
34
|
> enables permission-bypass flags, commits, pushes, merges, or deploys for you. A task worktree is not an
|
|
33
|
-
> operating-system sandbox.
|
|
35
|
+
> operating-system sandbox. Windows and Linux live-provider execution is not supported by this release and fails closed;
|
|
36
|
+
> Windows remains covered by source, browser and clean-install CI while its real local-CLI evidence is pending.
|
|
34
37
|
|
|
35
38
|
## Install and run safely
|
|
36
39
|
|
|
37
|
-
Requirements: Node.js `>=24.19 <25`, macOS
|
|
40
|
+
Requirements: Node.js `>=24.19 <25`, macOS on Apple Silicon, a browser on the same machine, the isolated Chromium build
|
|
41
|
+
managed by the installed Playwright package, and at least one official local agent CLI already signed in:
|
|
42
|
+
|
|
43
|
+
- Codex: install the official CLI and run `codex login` once; or
|
|
44
|
+
- Claude Code: install the official CLI and run `claude auth login` once.
|
|
45
|
+
|
|
46
|
+
That login remains owned by the provider CLI. Loomrail detects it read-only and never asks you to copy an API key.
|
|
47
|
+
Windows and Linux are not supported live-provider targets in this macOS-scoped Stable release.
|
|
38
48
|
|
|
39
49
|
Start in a new empty directory, not inside a repository you care about:
|
|
40
50
|
|
|
51
|
+
<!-- loomrail-guided-activation-v1:start -->
|
|
52
|
+
|
|
41
53
|
```bash
|
|
42
54
|
mkdir loomrail-evaluation
|
|
43
55
|
cd loomrail-evaluation
|
|
44
|
-
npm install loomrail@
|
|
45
|
-
npx
|
|
56
|
+
npm install --ignore-scripts loomrail@latest
|
|
57
|
+
npx playwright install chromium
|
|
58
|
+
npx loomrail try
|
|
46
59
|
```
|
|
47
60
|
|
|
61
|
+
<!-- loomrail-guided-activation-v1:end -->
|
|
62
|
+
|
|
63
|
+
The Chromium download is an explicit one-time installation for deterministic Browser QA. Loomrail never reuses your
|
|
64
|
+
signed-in browser profile. `loomrail try` first checks the local CLI version and login read-only. If a required check
|
|
65
|
+
fails it writes nothing and tells you whether to install, update, or sign in to that CLI. When ready, it states the
|
|
66
|
+
local state/log side effects, starts the loopback daemon, and opens the guided route. Each later mutation remains a
|
|
67
|
+
visible owner action.
|
|
68
|
+
|
|
48
69
|
The launcher binds to `127.0.0.1`, opens a one-time authenticated URL, and stores state in local SQLite. Keep the
|
|
49
70
|
terminal open and stop Loomrail with `Ctrl+C`.
|
|
50
71
|
|
|
51
72
|
If the browser must not open automatically:
|
|
52
73
|
|
|
53
74
|
```bash
|
|
54
|
-
npx loomrail --no-open --port 4176
|
|
75
|
+
npx loomrail try --no-open --port 4176
|
|
55
76
|
```
|
|
56
77
|
|
|
57
78
|
Open the printed URL on the same machine within 60 seconds. `--no-open` does not enable remote access.
|
|
58
79
|
|
|
59
|
-
For a global launcher, use `npm install -g loomrail@
|
|
60
|
-
|
|
80
|
+
For a global launcher, use `npm install -g --ignore-scripts loomrail@latest`, run
|
|
81
|
+
`npx playwright install chromium`, and then `loomrail try`.
|
|
82
|
+
The project-local route above is recommended because it keeps Loomrail and its browser runtime isolated.
|
|
61
83
|
|
|
62
84
|
## First run
|
|
63
85
|
|
|
64
|
-
1. Choose **
|
|
65
|
-
2.
|
|
66
|
-
3. Create
|
|
67
|
-
4.
|
|
68
|
-
5. Open **Attention**, answer
|
|
86
|
+
1. Choose **Prepare demo workspace**.
|
|
87
|
+
2. Choose **Codex CLI** or **Claude Code CLI** for this project.
|
|
88
|
+
3. Create the exact guided task and move it to **Ready**.
|
|
89
|
+
4. Start the guided workflow with the displayed Loomrail budget and model tier.
|
|
90
|
+
5. Open **Attention**, answer any blocking Human Request, and review every explicit budget change.
|
|
69
91
|
6. When acceptance appears in **Attention**, open its exact task, inspect Review and QA evidence, then accept the
|
|
70
92
|
delivery or return it to work as the owner.
|
|
71
93
|
|
|
94
|
+
The bundled web demo needs no second server: its deterministic QA step measures Loomrail's own local readiness
|
|
95
|
+
endpoint on the selected port. Your repositories use an explicit `.loomrail/browser-qa.json` plan; see the
|
|
96
|
+
[Browser QA guide](docs/guides/BROWSER-QA.md).
|
|
97
|
+
|
|
72
98
|
The task, request, budget, evidence, and decision survive page reloads and Loomrail restarts. The
|
|
73
99
|
[quick start](docs/guides/GETTING-STARTED.md) walks through the route in detail.
|
|
74
100
|
|
|
75
|
-
## Your repository and
|
|
101
|
+
## Your repository and providers
|
|
76
102
|
|
|
77
|
-
|
|
78
|
-
|
|
103
|
+
The guides explain repository registration, Project Constitution review, task worktrees,
|
|
104
|
+
change inspection, backup, recovery, diagnostics, upgrade, and uninstall:
|
|
79
105
|
|
|
80
106
|
- [Owner guide](docs/guides/USER-GUIDE.md)
|
|
81
107
|
- [Руководство владельца](docs/guides/USER-GUIDE.ru.md)
|
|
108
|
+
- [Operations guide](docs/guides/OPERATIONS.md) · [Эксплуатация](docs/guides/OPERATIONS.ru.md)
|
|
109
|
+
- [Provider compatibility](docs/guides/PROVIDER-COMPATIBILITY.md) · [Совместимость провайдеров](docs/guides/PROVIDER-COMPATIBILITY.ru.md)
|
|
110
|
+
- [Bundled samples and roles](docs/guides/SAMPLES.md) · [Встроенные примеры и роли](docs/guides/SAMPLES.ru.md)
|
|
82
111
|
- [Reproducible full-route example](docs/examples/full-route/README.md)
|
|
83
112
|
- [Security and trust boundaries](docs/security/THREAT-MODEL.md)
|
|
84
113
|
|
|
85
|
-
Install and
|
|
86
|
-
**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
114
|
+
Install and sign in to an official provider CLI, then start Loomrail normally. In **Settings → AI provider**, use
|
|
115
|
+
**Check again** to refresh readiness. Auto considers only compatible and authenticated local runtimes. An explicit
|
|
116
|
+
unavailable provider remains visible and fails closed. `LOOMRAIL_PROVIDER` remains an optional process-wide override
|
|
117
|
+
for automation and troubleshooting, but it does not bypass version checks, login, stage support, permissions, or
|
|
118
|
+
budgets.
|
|
90
119
|
|
|
91
120
|
Context7 is different from an AI provider: its exact-pinned MCP server ships with Loomrail. In **Settings → MCP
|
|
92
121
|
connections**, choose **Review bundled Context7**; no global install or `npx` command is needed. Loomrail still requires
|
|
@@ -96,7 +125,15 @@ machine, so never include secrets, personal data, or proprietary code.
|
|
|
96
125
|
## Current boundary
|
|
97
126
|
|
|
98
127
|
- Local browser UI, loopback daemon, and local SQLite state.
|
|
99
|
-
-
|
|
128
|
+
- Explicit selection between the locally installed Codex CLI and Claude Code CLI, with no API-key route or synthetic
|
|
129
|
+
runtime fallback.
|
|
130
|
+
- All six stages, including `IMPLEMENT` and `QA`, use the real selected local agent. Repository access goes only
|
|
131
|
+
through Loomrail's bounded workspace tools, and provider text alone is never treated as file or test evidence.
|
|
132
|
+
- Local CLI token usage is reconciled after a session. Loomrail enforces time, turn, tool and output limits during
|
|
133
|
+
execution and can block later work from the durable ledger, but cannot promise an exact stop at a token boundary
|
|
134
|
+
inside the current provider session.
|
|
135
|
+
- Up to three agent runs in parallel by default, with durable global, Project, provider, and workspace gates plus an
|
|
136
|
+
Agent Fleet view of active roles and exact queue reasons.
|
|
100
137
|
- Project-scoped local MCP connections and a bundled, owner-approved Context7 preset.
|
|
101
138
|
- A global, restart-safe Attention Inbox for Human Requests and acceptance deep-links across every Project.
|
|
102
139
|
- A typed read-only tool SDK at `loomrail/plugin-sdk`; local registration still uses explicit C1 consent and grant.
|
|
@@ -134,6 +171,8 @@ pnpm test:e2e
|
|
|
134
171
|
See [CONTRIBUTING.md](CONTRIBUTING.md), the [architecture overview](docs/architecture/OVERVIEW.md), and the
|
|
135
172
|
[release guide](docs/RELEASE.md). Plugin authors should start with the
|
|
136
173
|
[Plugin SDK guide](docs/guides/PLUGIN-SDK.md) or its [Russian version](docs/guides/PLUGIN-SDK.ru.md).
|
|
174
|
+
Use the [structured issue chooser](https://github.com/loomrail/loomrail/issues/new/choose) for reproducible bugs or
|
|
175
|
+
bounded product proposals; suspected vulnerabilities belong in the [private security channel](SECURITY.md).
|
|
137
176
|
|
|
138
177
|
## License
|
|
139
178
|
|