foundry-design 0.2.0-beta.10 → 0.2.0-beta.11

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 CHANGED
@@ -6,7 +6,7 @@ Foundry is a local-first precision design workbench for Codex, Cursor, and Claud
6
6
 
7
7
  Foundry is distributed through npm, so testers do not need GitHub access.
8
8
 
9
- > **Current public beta:** `0.2.0-beta.10`. Both npm `latest` and `beta` point to the same tested release. Use the unqualified command below for normal installation.
9
+ > **Current public beta:** `0.2.0-beta.11`. Both npm `latest` and `beta` point to the same tested release. Use the unqualified command below for normal installation.
10
10
 
11
11
  Full documentation is available at [withfoundry.ai](https://withfoundry.ai).
12
12
 
@@ -48,7 +48,7 @@ Then restart the coding agent, reopen the same project folder, and ask:
48
48
  Start Foundry for this project and keep listening for Apply with agent requests.
49
49
  ```
50
50
 
51
- You do not need to run a second terminal command when the agent starts Foundry for you. Apply requests remain queued safely when the agent is offline. Run `npx foundry-design doctor --repair` if the connection or generated integration needs repair.
51
+ You do not need to run a second terminal command when the agent starts Foundry for you. Apply requests remain queued safely when the agent is offline. After an active agent claims a batch, the MCP bridge keeps that handoff alive while the agent inspects source and begins the edit. If the agent process exits, Foundry releases the abandoned claim back to the queue instead of losing it. Run `npx foundry-design doctor --repair` if the connection or generated integration needs repair.
52
52
 
53
53
  Update an existing installation with:
54
54
 
@@ -72,7 +72,7 @@ If an npm mirror or existing `npx` cache reports an old tag, bypass it with a te
72
72
 
73
73
  ```bash
74
74
  FOUNDRY_NPX_CACHE="$(mktemp -d)"
75
- npx --yes --prefer-online --registry=https://registry.npmjs.org --cache "$FOUNDRY_NPX_CACHE" --package=foundry-design@0.2.0-beta.10 foundry-design
75
+ npx --yes --prefer-online --registry=https://registry.npmjs.org --cache "$FOUNDRY_NPX_CACHE" --package=foundry-design@0.2.0-beta.11 foundry-design
76
76
  ```
77
77
 
78
78
  The beta supports Node.js 20 or newer. Read the [local-first safety model](https://withfoundry.ai/#safety) before using it with sensitive work.
@@ -104,7 +104,7 @@ Foundry remains local-first. Installing the plugin does not create an account, e
104
104
  - Persistent, coalescing change ledger with JSON and consolidated prompt export
105
105
  - Center-workspace review with editable approved batches, grouped targets, and unresolved-target blocking
106
106
  - Persistent Apply with agent runs across Codex, Cursor, and Claude Code through MCP
107
- - Leased agent handoffs that safely return abandoned or interrupted claims to the queue
107
+ - Automatically renewed agent handoffs that remain claimed during source inspection and safely return abandoned work to the queue
108
108
  - Live source, rebuild, validation, retry, and rendered-verification progress
109
109
  - Rendered verification that resumes after refresh and does not depend on Review remaining open
110
110
  - Local MCP bridge for agent access
package/dist/release.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export declare const FOUNDRY_VERSION = "0.2.0-beta.10";
2
- export declare const FOUNDRY_PACKAGE_SPEC = "foundry-design@0.2.0-beta.10";
3
- export declare const FOUNDRY_MCP_PACKAGE_SPEC = "foundry-design-mcp-server@0.2.0-beta.10";
1
+ export declare const FOUNDRY_VERSION = "0.2.0-beta.11";
2
+ export declare const FOUNDRY_PACKAGE_SPEC = "foundry-design@0.2.0-beta.11";
3
+ export declare const FOUNDRY_MCP_PACKAGE_SPEC = "foundry-design-mcp-server@0.2.0-beta.11";
4
4
  export declare function releasePreflight(action: string): string;
5
5
  //# sourceMappingURL=release.d.ts.map
package/dist/release.js CHANGED
@@ -1,4 +1,4 @@
1
- export const FOUNDRY_VERSION = '0.2.0-beta.10';
1
+ export const FOUNDRY_VERSION = '0.2.0-beta.11';
2
2
  export const FOUNDRY_PACKAGE_SPEC = `foundry-design@${FOUNDRY_VERSION}`;
3
3
  export const FOUNDRY_MCP_PACKAGE_SPEC = `foundry-design-mcp-server@${FOUNDRY_VERSION}`;
4
4
  export function releasePreflight(action) {
@@ -45,7 +45,7 @@ Read [change-contract.md](references/change-contract.md) when interpreting or tr
45
45
  1. Read the project design graph with `foundry_design_get_project_design`.
46
46
  2. For an interactive web session, keep calling `foundry_design_wait_for_apply` in bounded waits as soon as Foundry starts. Include the current source revision, design-graph revision, and agent identity. A reviewed run may already be queued while the agent was offline. A `waiting` result means poll again while the session remains active, not that the workflow is complete.
47
47
  3. If a run is claimed, retain its `claimAttemptId`, read [apply-run-contract.md](references/apply-run-contract.md), and follow its state transitions. Do not edit from an unreviewed draft ledger.
48
- 4. Immediately report `applying` with the current `claimAttemptId`, then reinspect current source before editing. If a prerequisite prevents that immediate transition, extend the short handoff lease with `foundry_design_heartbeat_apply_run` while the run remains `claimed`.
48
+ 4. Immediately report `applying` with the current `claimAttemptId`, then reinspect current source before editing. The MCP bridge automatically renews a fresh claim while this turn is inspecting prerequisites, but do not rely on that as a progress state. If a long prerequisite prevents the transition, explicitly extend the lease with `foundry_design_heartbeat_apply_run` while the run remains `claimed`.
49
49
  5. Stop if the claim is no longer active or the source inspection finds a stale revision, stale graph, unresolved target, or unresolved operation. Return to `foundry_design_wait_for_apply` when Foundry has safely requeued an abandoned handoff.
50
50
  6. Implement the user's selected semantic mapping at the narrowest source of truth.
51
51
  7. Preserve existing tokens and component conventions. Prefer a matching token over a new literal. Do not invent a global token for an instance-scoped adjustment.
@@ -8,7 +8,7 @@ Use the apply run as the authoritative lifecycle for a reviewed web batch.
8
8
  2. Accept only a run in `claimed` with a `claimAttemptId`. If it returns `needs_attention`, report the source or design-graph mismatch and wait for the user to retry.
9
9
  3. Use only the run's `changeIds`. Re-read the session to obtain their approved values and evidence.
10
10
  4. For every operation, use only its `selectedMappingId`. Stop if an approved change has multiple candidates without a selected mapping.
11
- 5. A claim is a short handoff lease, not evidence that source work has begun. Immediately report `applying`. If a prerequisite prevents that transition, call `foundry_design_heartbeat_apply_run` before the lease expires.
11
+ 5. A claim is a short handoff lease, not evidence that source work has begun. The MCP bridge renews the claim in the background while the current agent process remains alive and the run is still `claimed`. Immediately report `applying` once source inspection begins. For a long external prerequisite, call `foundry_design_heartbeat_apply_run` explicitly before the lease expires.
12
12
 
13
13
  ## Progress
14
14
 
@@ -19,7 +19,7 @@ Report state with `foundry_design_update_apply_run`. Include the same `claimAtte
19
19
  3. `verifying` only when changed files are present and the affected surface rebuilt successfully.
20
20
  4. `failed` for a terminal edit, build, or validation failure, including a concise error.
21
21
 
22
- Do not skip states, claim a non-queued run, or start another run in the same session. Repeating a claim for the same run and agent identity is idempotent. If the lease expires before `applying`, Foundry clears the abandoned claim and returns the run to `queued`. A stale agent must not edit source or send progress after that point. Wait for and claim the queued run again.
22
+ Do not skip states, claim a non-queued run, or start another run in the same session. Repeating a claim for the same run and agent identity is idempotent. If the MCP process exits or the lease cannot be renewed before `applying`, Foundry clears the abandoned claim and returns the run to `queued`. A stale agent must not edit source or send progress after that point. Wait for and claim the queued run again. Cancelling an active run is destructive because it ends the approved batch, so the Foundry interface requires a second confirmation before it sends the cancellation.
23
23
 
24
24
  ## Verification
25
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foundry-design",
3
- "version": "0.2.0-beta.10",
3
+ "version": "0.2.0-beta.11",
4
4
  "description": "Install and run the local-first Foundry visual design control plane",
5
5
  "type": "module",
6
6
  "files": [
@@ -34,8 +34,8 @@
34
34
  "inspector"
35
35
  ],
36
36
  "dependencies": {
37
- "foundry-design-protocol": "0.2.0-beta.10",
38
- "foundry-design-runtime": "0.2.0-beta.10"
37
+ "foundry-design-protocol": "0.2.0-beta.11",
38
+ "foundry-design-runtime": "0.2.0-beta.11"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsc -p tsconfig.json && node ../../scripts/copy-cli-skill.mjs",