martin-loop
Advanced tools
| { | ||
| "name": "@martin/cli", | ||
| "version": "0.5.1", | ||
| "version": "0.5.2", | ||
| "type": "module", | ||
@@ -5,0 +5,0 @@ "description": "Open-source execution control for coding agents with verifier-gated completion, stop limits, rollback evidence, and Verified Handoffs.", |
@@ -42,4 +42,5 @@ import type { LoopBudget, MutationMode, ReceiptScope } from "../contracts/index.js"; | ||
| export declare function evaluateCliRunGate(input: CliRunGateInput): Promise<CliRunGateResult>; | ||
| export declare function evaluateCliPreflightGate(input: CliRunGateInput): Promise<CliRunGateResult>; | ||
| export declare function deriveWorkspaceKey(workingDirectory: string): string; | ||
| export declare function deriveWorkspaceId(workingDirectory: string): string; | ||
| export {}; |
@@ -87,2 +87,8 @@ // SPDX-FileCopyrightText: MartinLoop contributors | ||
| export async function evaluateCliRunGate(input) { | ||
| return evaluateCliWorkflowGate(input, false); | ||
| } | ||
| export async function evaluateCliPreflightGate(input) { | ||
| return evaluateCliWorkflowGate(input, true); | ||
| } | ||
| async function evaluateCliWorkflowGate(input, candidatePreflight) { | ||
| const state = await readWorkflowState(input.runsRoot, input.workingDirectory); | ||
@@ -138,5 +144,6 @@ const cliState = state.cli ?? {}; | ||
| // Only a changed verifier command or path scope invalidates the receipt. | ||
| const preflightReady = isFresh(cliState["preflight"], PREFLIGHT_TTL_MS, (receipt) => receipt.workingDirectory === workingDirectory && | ||
| receipt.verificationPlanKey === verificationPlanKey && | ||
| receipt.pathScopeKey === pathScopeKey); | ||
| const preflightReady = candidatePreflight || | ||
| isFresh(cliState["preflight"], PREFLIGHT_TTL_MS, (receipt) => receipt.workingDirectory === workingDirectory && | ||
| receipt.verificationPlanKey === verificationPlanKey && | ||
| receipt.pathScopeKey === pathScopeKey); | ||
| if (!preflightReady) { | ||
@@ -143,0 +150,0 @@ missingSteps.push("preflight"); |
+1
-1
| { | ||
| "name": "martin-loop", | ||
| "private": false, | ||
| "version": "0.5.1", | ||
| "version": "0.5.2", | ||
| "type": "module", | ||
@@ -6,0 +6,0 @@ "description": "Open-source command center for governed AI coding agents with built-in onboarding, hard gates, MCP, and shareable run receipts.", |
+10
-10
@@ -33,3 +33,3 @@ # MartinLoop | ||
| **Install** — run `npx -y martin-loop@0.5.1 start`, or install it globally with `npm install -g martin-loop@0.5.1`. | ||
| **Install** — run `npx -y martin-loop@0.5.2 start`, or install it globally with `npm install -g martin-loop@0.5.2`. | ||
@@ -113,3 +113,3 @@ **Governed run** — define an objective, verifier, budget, and iteration cap with `martin run`. | ||
| Release notes for the current root package: [MartinLoop 0.5.1](./docs/release/OSS-0.5.1-RELEASE-NOTES.md). | ||
| Release notes for the current root package: [MartinLoop 0.5.2](./docs/release/OSS-0.5.2-RELEASE-NOTES.md). | ||
@@ -155,13 +155,13 @@ ## Visual Proof | ||
| ```sh | ||
| npx -y martin-loop@0.5.1 --version | ||
| npx -y martin-loop@0.5.1 start | ||
| npx -y martin-loop@0.5.1 demo | ||
| npx -y martin-loop@0.5.2 --version | ||
| npx -y martin-loop@0.5.2 start | ||
| npx -y martin-loop@0.5.2 demo | ||
| cd martin-loop-demo | ||
| npm install | ||
| npx -y martin-loop@0.5.1 run "Summarize the demo workspace and prove tests still pass" --verify "npm test" --budget-usd 2 --max-iterations 1 --json | ||
| npx -y martin-loop@0.5.1 dossier --latest --json | ||
| npx -y martin-loop@0.5.1 share --latest --json | ||
| npx -y martin-loop@0.5.2 run "Summarize the demo workspace and prove tests still pass" --verify "npm test" --budget-usd 2 --max-iterations 1 --json | ||
| npx -y martin-loop@0.5.2 dossier --latest --json | ||
| npx -y martin-loop@0.5.2 share --latest --json | ||
| ``` | ||
| For deterministic installs, pin the package line (`martin-loop@0.5.1`) or use `martin-loop@latest`. Plain `npx martin-loop` can resolve a stale local cache on some machines. | ||
| For deterministic installs, pin the package line (`martin-loop@0.5.2`) or use `martin-loop@latest`. Plain `npx martin-loop` can resolve a stale local cache on some machines. | ||
@@ -339,3 +339,3 @@ Expected share bundle outputs: | ||
| The root `martin-loop` package, standalone `@martinloop/mcp` package, and MCPB artifact are aligned at `0.5.1` for this release. Their version lines may move independently in future releases. | ||
| The root `martin-loop` package is `0.5.2`; standalone `@martinloop/mcp` and MCPB remain at `0.5.1` for this root-only corrective release. Their version lines move independently. | ||
@@ -342,0 +342,0 @@ The public MCP release train labels are: |
Sorry, the diff of this file is too big to display
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 2 instances
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 2 instances
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
1356856
0.09%30965
0.1%