chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0 - #135

Closed
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window
Closed

chore(release): 8.0.3 — widen the Interface peer to <0.56.0 and verify against 0.55.0#135
drewstone wants to merge 1 commit into
mainfrom
chore/interface-055-window

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Problem

@tangle-network/agent-interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm latest tag. 8.0.2 declares >=0.54.0 <0.55.0, which excludes it, so this package is now the one that blocks a plain @latest install:

npm install @tangle-network/agent-knowledge@latest @tangle-network/agent-interface@latest

The same shape broke the fleet two hours earlier. Interface 0.54.0 published 2026-08-16T04:30:11Z, 88 seconds after agent-runtime#873 merged a <0.54.0 cap. 8.0.2 then moved to >=0.54.0 <0.55.0 while agent-runtime 0.135.3 still held >=0.53.0 <0.54.0 — disjoint ranges, so npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest could not resolve with the interface never named.

Change

fieldbeforeafter
version8.0.28.0.3
peer @tangle-network/agent-interface>=0.54.0 <0.55.0>=0.54.0 <0.56.0
dev @tangle-network/agent-interface0.54.00.55.0

The floor stays at 0.54, so a consumer that still carries a package on the 0.54 generation resolves too. A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish — measured cadence 0.53 → 0.54 = 20h26m, 0.54 → 0.55 = 2h14m.

Evidence that 0.55.0 is additive

Published tarballs 0.54.0 against 0.55.0:

  • Added file:dist/environment-interactive.{d.ts,js}.
  • Added: optional startInteractive? and interactive? on AgentEnvironment; optional interactiveAgent? capability block on AgentEnvironmentCapabilities; AgentInteractiveSession* schemas and helpers re-exported from index.
  • Removed: nothing. Diffing the exported-symbol list of every changed .d.ts yields zero removals. The remaining diff lines are enum key ORDER in generated declarations.

Proof

  • pnpm install: @tangle-network/agent-interface 0.54.0 -> 0.55.0.
  • pnpm typecheck (typecheck:src + typecheck:contracts): exit 0.
  • pnpm test: Test Files 60 passed | 3 skipped (63), Tests 575 passed | 12 skipped (587).

Related

Part of one wave that moves every first-party package onto a window that holds the generations it verifies against:

  • agent-runtime#878 — >=0.53.0 <0.56.0, release 0.135.4
  • sandbox-ui#254 — >=0.36.0 <0.56.0
  • agent-dev-container#5742 — agent-profile-materialize>=0.47.0 <0.56.0

The release-order rule that removes the cause is tangle-network/agent-sdk#190. The manifest gate that catches a floor moving generation without its siblings is tangle-network/agent-app#445.

…y against 0.55.0
Interface 0.55.0 published 2026-08-16T06:44:30Z and took the npm 'latest' tag,
2 hours 14 minutes after 0.54.0 took it. The 8.0.2 range '>=0.54.0 <0.55.0'
excludes 0.55.0, so 'npm install @tangle-network/agent-knowledge@latest
@tangle-network/agent-interface@latest' could not resolve.
0.55.0 is additive over 0.54.0. The range keeps the 0.54 floor rather than
moving to '>=0.55.0', so a consumer that still carries a package on the 0.54
generation resolves too.
@drewstone

Copy link
Copy Markdown
ContributorAuthor

@tangletools review now

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:07Z

tangletools
tangletools previously approved these changes Aug 16, 2026

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — d0de68c8

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.

tangletools · auto-approval · reason: drewstone_author · 2026-08-16T07:00:16Z

@tangletoolstangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Value Audit did not run — no verdict

This is not an approval and not a clean bill of health. Neither interrogation lens returned a judgment, so this PR has no value-audit evidence for or against it.

Statusaudit-incomplete (could not run)
Whyvalue: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)
Lenses answered0 of 2
What to dore-run once the CLI bridge has capacity: pr-reviewerctl trigger <repo>#<pr> --force

💰 Value — error

value agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/kimi-for-coding/k2p7: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=8/48 — no model was started

🎯 Usefulness — error

usefulness agent never ran: the CLI bridge refused admission (no model was started).

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 4
  • Bridge error: opencode/zai-coding-plan/glm-5.2: Bridge returned 503: bridge at capacity (queue_timeout, lane=reserved): active=20/20 queued=9/48 — no model was started

No concerns are listed because nothing examined the change — absence of findings here is absence of evidence, not a pass.


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

PassWhat it asks
HeuristicVague title? Whitespace-only or cruft-bearing diff? (content signals only)
DuplicationDo added function/class names already exist elsewhere in the repo?
Value AuditWhat does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness AuditDoes it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260816T071529Z

@tangletools
tangletools dismissed stale reviews from themself August 16, 2026 07:15

Value audit could not run (value: cli-bridge admission rejected (queue saturated); usefulness: cli-bridge admission rejected (queue saturated)). This approval was provisional on that audit running, so it is dismissed. Re-run the reviewer once the CLI bridge has capacity.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Positive control — the wave resolves, proven before merge

The final proof normally waits on merge → publish. It does not have to: npm's resolver reads only manifests, so packing these branches and installing the tarballs beside the live registry is the same resolution the published packages will produce.

agent-runtime's catalog: specifiers were resolved from pnpm-workspace.yaml exactly as pnpm publish does (agent-core 0.9.1, agent-knowledge 8.0.2, agent-profile-materialize 0.15.2, agent-trace-contract ^1.0.2) and devDependencies dropped, since a consumer never installs them.

Negative control — the published state, right now

$ npm install --dry-run @tangle-network/agent-runtime@latest \
@tangle-network/agent-knowledge@latest \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error peer @tangle-network/agent-eval@">=0.145.16 <0.146.0" from @tangle-network/agent-knowledge@8.0.2
npm error Could not resolve dependency:
npm error peer @tangle-network/agent-interface@">=0.54.0 <0.55.0" from @tangle-network/agent-knowledge@8.0.2
EXIT=1

Positive control — the same command against these branches

$ npm install --dry-run ./agent-runtime-0.135.4-resolved.tgz \
./tangle-network-agent-knowledge-8.0.3.tgz \
@tangle-network/agent-eval@latest \
@tangle-network/agent-interface@latest
add @tangle-network/agent-runtime 0.135.4
add @tangle-network/agent-knowledge 8.0.3
add @tangle-network/agent-interface 0.55.0
add @tangle-network/agent-eval 0.145.17
add @tangle-network/agent-core 0.9.2
add @tangle-network/agent-profile-materialize 0.15.2
add @tangle-network/agent-knowledge 8.0.2
add @tangle-network/agent-core 0.9.1
add @tangle-network/agent-interface 0.54.0
added 48 packages in 6s
EXIT=0

Zero ERESOLVE. Interface 0.55.0 hoists to the root and satisfies both new peer windows. The nested 0.54.0 and agent-core 0.9.1 are exact dependencies of transitively pulled older releases — npm nests those rather than failing, so they never block an install.

Same command shape, same live registry, same day. Only the two manifests differ.

One more generation landed during this run

@tangle-network/agent-eval@0.145.17 published while the proof was being built, depending on agent-interface0.55.0 and agent-core 0.9.2. That is the fourth first-party package to adopt 0.55 inside three hours, and the <0.56.0 window in these branches admits it with no further change — which is the point of widening the window instead of tracking the newest generation alone.

Root cause and the release-order rule: tangle-network/agent-sdk#190. Manifest gate for the sibling-floor half: tangle-network/agent-app#445.

@drewstone

Copy link
Copy Markdown
ContributorAuthor

Superseded by merged PR #136. This release path is intentionally not being published; the next release will target Interface 0.56.0 and the aligned latest Eval.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@drewstone@tangletools