Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
162 changes: 69 additions & 93 deletions .agent/release-progress.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,69 @@
# Release progress

## Release record

This file tracks the active Braid candidate and its public dependency cohort.
Use only evidence from the named source commit or its immutable release artifacts.

### Current release attempt

- Target: publish `@tangle-network/braid@0.3.0` after exact candidate and protected Tangle checks pass.
- Source branch: `chore/braid-release-current-deps-final`.
- Source pull request: `tangle-network/braid#49`.
- Source code commit: `6097da09305f58fe051cb3b20308bba3f36e5cf4` passed local checks and CI run `33710389130`.
- Candidate commit: not recorded; the source pull request must merge first.
- Candidate archive: not recorded; the candidate Release workflow must complete first.
- Live evidence: not recorded; the protected workflow must use that candidate archive.
- Public package: not recorded; publication remains blocked until the live evidence passes.
- Runtime service: none; Braid is an installed terminal client.
- Credential boundary: protected GitHub environments provide release and live credentials.
- Rollback: leave npm `latest` unchanged before publication, or restore the prior release after publication.

## Public dependency cohort

| Package | Version | Evidence |
| --- | ---: | --- |
| `@tangle-network/agent-interface` | `2.11.0` | Exact package, lockfile entry, and workspace override |
| `@tangle-network/agent-eval` | `0.183.0` | Exact package and lockfile entry |
| `@tangle-network/agent-provider-cli-bridge` | `1.0.3` | Exact package and lockfile entry |
| `@tangle-network/agent-provider-tangle` | `1.6.0` | Exact package and lockfile entry |
| `@tangle-network/agent-runtime` | `0.252.1` | Exact package and lockfile entry |
| `@tangle-network/sandbox` | `0.45.0` | Exact package and lockfile entry |

Every version is the newest release that satisfies all peer ranges on 2026-09-22.
Runtime `0.252.1` bounds Sandbox to `>=0.36.4 <0.46.0` and Eval to `>=0.183.0 <0.184.0`.
Knowledge `17.1.0` also bounds Eval to `<0.184.0`, and the provider needs Sandbox `>=0.39.0`.
`pnpm outdated` on 2026-09-22 reported no outdated `@tangle-network` package.
`pnpm list --prod --depth Infinity` resolves 86 distinct packages and no file, link, or workspace dependency.

Provider `1.6.0` accepts the id-less `stream.terminal` frame that ends every production sidecar replay.
Provider `1.1.4` rejected that frame with `RETAINED_EVENT_STREAM_INVALID`, so retained headless runs ended `unknown`.
The provider `1.6.0` npm package has a registry signature and SLSA provenance.

## Product state

- Braid is a terminal client over `agent-runtime`; it does not implement another runner.
- `AgentProfile` remains the only agent configuration object.
- The work strip supports concurrent runs, explicit focus, switching, and targeted cancellation.
- Native continuation resumes one selected provider session.
- Cross-runner and workspace forks preserve separate conversation, run, session, and environment identities.
- Interaction views support typed answers, acceptance, decline, timeout, cancel, and restart recovery.
- Analysis freezes one run, records cited findings, and preserves promotion decisions.
- Supervisor views use Runtime-owned observation, steering, cancellation, and terminal attachment.
- All 52 exported terminal components map to 25 component documents.
- Every component document states its best simple general implementation.
- The visual set covers 23 product states and all four required terminal sizes.

## Current proof

- Focused contract checks passed 239 of 239 tests with the final dependency cohort.
- The complete local `pnpm check` command exited successfully with the final dependency cohort.
- CI run `33710389130` passed all four jobs for pull request 49.
- Formatting checked 828 files.
- The module graph contains 519 modules, 2,693 edges, and zero cycles.
- The dependency check found no known vulnerability and no high or critical finding.
- The license inventory covers 64 packages.
- The CLI Bridge adversarial matrix passed.
- The exact provider 1.1.4 production import resolves through the Tangle Sandbox backend.

The previous candidate run `33705006807` passed source and platform checks for commit `871954e132fc153130b3a463d39ccfe8dc72151c`.
That candidate did not contain provider 1.1.4 and cannot authorize publication of the new cohort.

Live run `33702738417` reached the real Sandbox and exposed the old per-frame control-validation limit.
The sidecar accepted 95 validation calls and five other session calls before returning HTTP 429.
The SDK release above removes that redundant request from terminal input, resize, and close.
The failed run is diagnostic evidence, not release evidence.

## Remaining release sequence

1. Merge pull request 49 after its current checks and review pass.
2. Build one immutable candidate from the merged commit.
3. Pass Linux x64 and macOS arm64 candidate installs.
4. Run protected `LIVE-06` through `LIVE-10` against that candidate.
5. Require the separate two-conversation `LIVE-07` artifact and exact resource cleanup.
6. Publish only the approved candidate archive.
7. Verify the registry archive on Linux x64 and macOS arm64.
8. Verify npm provenance, the source tag, release assets, and matching archive digests.

## Decision

Do not publish from the source checkout.
Do not reuse evidence from an earlier dependency cohort.
Do not turn an unavailable provider result into a pass.
Do not leave a billable live resource after a proof run.
# Braid 0.3.4 release progress

## Goal

Deliver the exact reviewed Braid 0.3.4 candidate through protected live evidence, authorized publication, registry-byte verification, and installed-consumer proof.
Keep provider outcome separate from CLI correctness.

## Current candidate

- Candidate source commit: `3b627e9199186ccfb523f07d8c52effe02e46281` on `main`.
- Candidate Release workflow: run `36562109729`, successful.
- Candidate artifact: `11029649998`; endorsement artifact: `11030732466`.
- Archive: `/tmp/braid-release-3b627e-official/candidate/tangle-network-braid-0.3.4.tgz`.
- Archive SHA-256: `f13e3bea3bbdda567cc125cde9cbbe1889625e0972fa2303da17210c47e102d9`.
- Package manifest digest: `dbc7574683f08e95d2a6a01353421ebc4408250108671e169b92e1a52cc642c2`.
- Exact source, build, `pnpm check`, `pnpm release:prepare`, endorsement, Linux x64 smoke, and macOS arm64 smoke passed in run `36562109729`.
- The candidate source has not passed the formal protected live workflow identity step. Local `verify-candidate-identity.mjs` preflight passed at `/tmp/braid-0.3.4-delivery-20260929/candidate-identity-preflight.log`.
- `release-live-evidence.yml` runs identity verification immediately before live collection and has no preflight-only mode. No protected live run has been started for this candidate.
- `scripts/` is excluded from the npm archive. The current CLI proof helper edits do not alter this candidate tarball.

## Maintained CLI proof

- Reproduced the SQLite descriptor-open failure on the parent scratch: 1 of 20 security tests failed at the third native open. The fix passed 20 of 20 security tests, 200 of 200 scoped sibling tests, and the candidate build. Logs: `/tmp/braid-0.3.4-delivery-20260929/fixed-security.log` and `/tmp/braid-0.3.4-delivery-20260929/candidate-build.log`.
- Exact packed archive consumer check passed on Node `v22.23.2`: 37 RPC records and 31 events at 40x12, 80x24, 120x40, and 200x60, with flow parity and terminal restoration. Command: `BRAID_RELEASE_TARBALL=/tmp/braid-release-3b627e-official/candidate/tangle-network-braid-0.3.4.tgz node scripts/verify-package.mjs --record /tmp/braid-0.3.4-delivery-20260929/installed-package-proof-node22.json`. Log: `/tmp/braid-0.3.4-delivery-20260929/installed-package-proof-node22.log`.
- Installed exact candidate binary: `/tmp/braid-3b627e-installed/node_modules/@tangle-network/braid/dist/bin/braid.js`, version `0.3.4`.
- Final installed CLI proof command pattern: `taskset -c 12-15 nice -n 19 env PATH=/home/drew/.nvm/versions/node/v22.23.2/bin:$PATH BRAID_PROOF_COLUMNS=<columns> BRAID_PROOF_ROWS=<rows> BRAID_PROOF_CAST=artifacts/verification/braid-0.3.4/media/<size>-original.cast node scripts/proof-cloud-setup-cli.mjs /tmp/braid-3b627e-installed/node_modules/@tangle-network/braid/dist/bin/braid.js`.
- All four dimensions passed on the exact installed binary, version `0.3.4`. Each harness and both CLI processes exited 0. Logs, PIDs, media, and marker timing are recorded in `artifacts/verification/braid-0.3.4/media/media-manifest.json`.

| Terminal size | Harness PID | CLI PIDs | Log | Original / 4x copy |
| --- | ---: | --- | --- | --- |
| 40x12 | 2354201 | 2355008, 2359249 | `/tmp/braid-0.3.4-delivery-20260929/installed-cli-setup-loopback-media-final-40x12.log` | `40x12-original.cast` / `40x12-4x.cast` |
| 80x24 | 2354270 | 2354676, 2359098 | `/tmp/braid-0.3.4-delivery-20260929/installed-cli-setup-loopback-media-final-80x24.log` | `80x24-original.cast` / `80x24-4x.cast` |
| 120x40 | 2354245 | 2354900, 2358716 | `/tmp/braid-0.3.4-delivery-20260929/installed-cli-setup-loopback-media-final-120x40.log` | `120x40-original.cast` / `120x40-4x.cast` |
| 200x60 | 2354233 | 2354723, 2358797 | `/tmp/braid-0.3.4-delivery-20260929/installed-cli-setup-loopback-media-final-200x60.log` | `200x60-original.cast` / `200x60-4x.cast` |

- Each loopback run captured 26 requests, two tasks with five bounded sandbox-create attempts apiece, final statuses `unknown`, persistence after encrypted reopen, continuation refusal with no creates or run/message changes, exact rejected-draft clearing, fresh `/new` transcript, and temporary-state cleanup.
- Both task submissions observed authenticated GETs to `/v1/backends`, `/v1/me`, `/usage`, and `/subscription` before the first sandbox-create POST. The continuation attempted only those four authenticated read-only GETs.
- Credential canaries were absent from request URLs, bodies, non-Authorization headers, snapshots, and terminal output. No cloud task or resource was created.
- Uncut originals use asciicast v2 output events and labeled process-start/exit markers. The `-4x.cast` copies preserve event order and payloads while dividing timestamps by four. All copies were compared event-by-event; each contains 141–221 events and no input events.
- The casts omit key events, but terminal output can display the synthetic prompt text. Each output is a private mode `0600` file created at a new path. Media playback with `asciinema play --speed=1 artifacts/verification/braid-0.3.4/media/120x40-4x.cast` exited 0.
- This is a local CLI and storage proof with a loopback fixture. It is not proof of live Tangle execution or provider behavior.
- Luna's final independent read-only review found no remaining helper or recording findings. Media index: `artifacts/verification/braid-0.3.4/media/README.md`.

## Protected live evidence

- Protected run `36551284049`, source `4ad0a8992b60f282ae80c63744ea504cda1132ca`, admitted Braid run `run-1cadda3e-a8eb-4c71-8867-8f4b2681f5ac` for `glm-5.3` and ended `RUNTIME_FINAL_ERROR`.
- The live span ended about 2.497 seconds after send acknowledgement; workflow failure surfaced about 5.308 seconds after send. `LIVE-07` through `LIVE-10` had no spans.
- Retained evidence does not include a provider HTTP status/body, generation ID, usage, cost, or resource-cleanup census. The provider result and cleanup outcome are unknown; do not label this a confirmed refusal or a pass.
- Existing Router diagnostics under `security@tangle.tools` queried the four-second window `2026-09-29T09:46:46Z` to `2026-09-29T09:46:50Z`. The filtered and unfiltered admin queries returned zero rows; both Router origins had no matching app log lines. These empty results do not establish whether the provider request occurred.
- The October 5 Codex quota belongs to the superseded `hello@tangle.tools` docs session. It does not describe the active root or explain the GLM provider result. Inbox note `root-braid034-quota-distinction-20260930T0017` was read and acknowledged.
- No existing authorized bounded provider path is identified. Do not buy credits, raise caps, add keys, run uncapped inference, waive required live outcomes, or start a workflow that enters live collection without that path.

## Publication and deployment

- Public npm and GitHub release remain `0.3.3`.
- No `0.3.4` package publication, registry archive comparison, installed registry consumer proof, or deployment has occurred.
- Do not publish until the exact candidate has complete protected live evidence, including required cleanup proof.
- After release authorization is satisfied, publish the exact candidate archive, compare the registry tarball bytes and provenance, install that registry artifact on supported Linux and macOS targets, and retain consumer receipts.
- Rollback before publication is to leave `latest` unchanged. After publication, restore the prior release only through the maintained release procedure; do not mutate the candidate archive.

## Ownership and next action

- Root owns Braid source integration, helper changes, release record, PR, and publishing surfaces.
- `braid-claude` retains its separate acquisition/prewarm/G1 lane. The closed docs lane is superseded. Preserve canonical `.agent` edits and peer work.
- `proof_review_luna` completed read-only independent review of the helper and recordings; no concrete findings remain.
- `release_zerospend_luna` completed release workflow and candidate audit. `glm_owner_status_luna` completed the read-only Router diagnostic.
- `security@tangle.tools` performed the Router lookup. The provider-account log owner remains unidentified; the missing input is a retained provider trace/status/usage record and an already authorized bounded path for the exact protected live gate.
- The source helper/release record/media changes are reviewed and ready for a single source PR. Run normal hooks, commit, fetch and merge-check against `origin/main`, open that PR with `gh-drew` identity `drewstone`, resolve applicable review findings, and merge normally.
- Release publication and registry proof remain pending until the missing protected live evidence path is available.
Loading
Loading