refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface - #417

Merged
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish
Jun 30, 2026
Merged

refactor(runtime): superviseSurface — one capability for supervise-over-a-graded-surface#417
drewstone merged 3 commits into
mainfrom
chore/collapse-supervise-and-polish

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What

Folds the example worker-seam + "self-improving supervisor" wrapper pair into ONE exported core capability:

superviseSurface(profile,{ surface, task, worker, budget, router })

Drives a team of agents to solve an AgenticSurface task — workers runAgentic the surface (refine by default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the driver self-improves from the still-failing tests by default (failuresAnalyst; swap via analysts, or null to turn off). Returns the deployable outcome + the full conserved spend.

Why this design (the key call)

runAgentic depends on the supervise core (strategy.tssupervise/), so a surface-solving worker cannot be a supervise() built-in backend without an import cycle. superviseSurface therefore lives at the composition layer above supervise + runAgentic — the correct home for "supervise over a graded surface". The within-run self-improvement is the authored analyst; the across-run kind wraps this in improve()/selfImprove.

Impact

  • Simpler: deletes examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts; the ablation + GEPA arms call superviseSurface directly — no wrappers, no duplication.
  • More capable: every package user gains "supervise agents over a graded task" as one call.
  • New src/runtime/supervise-surface.ts + barrel export + a canonical-api decision row (anti-reinvention).

Verification

  • tsc clean on src and examples (0/0); docs-freshness gate green (regenerated docs/api).
  • Live smoke (the supervisor arm through superviseSurface): resolves 100%, full metrics captured, zero errors.
  • Purely additive to the published surface — supervise() core untouched.

…se-over-a-graded-surface
Folds the example worker-seam + 'self-improving supervisor' wrapper pair into ONE exported
core capability. superviseSurface(profile, { surface, task, worker, budget, router }) drives
a team of agents to solve an AgenticSurface task: workers runAgentic the surface (refine by
default, strategy-pluggable), settle on the surface's OWN check (settled ⟺ resolved), and the
driver self-improves from the failing tests by default (failuresAnalyst; swap via analysts).
It lives at the composition layer (above supervise + runAgentic) because runAgentic depends on
the supervise core — a surface worker can't be a supervise built-in without an import cycle.
- new src/runtime/supervise-surface.ts + barrel export.
- deleted examples/ablation-suite/{surface-worker,self-improving-supervisor}.ts — the ablation
+ gepa arms now call superviseSurface directly (no wrappers, no duplication).
- canonical-api decision row + regenerated docs/api.
tangletools
tangletools previously approved these changes Jun 30, 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 — 7ce90bc6

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:43:10Z

…sk, opts), default router + budget
- task is positional (one mental model with supervise(profile, task, opts)).
- router defaults to the worker's substrate (driver + workers share one router unless separated).
- budget defaults to a handful of worker spawns sized off the worker bounds.
Minimal call is now superviseSurface(profile, task, { surface, worker }).
tangletools
tangletools previously approved these changes Jun 30, 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 — b260c415

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.

tangletools · auto-approval · reason: drewstone_author · 2026-06-30T01:50:25Z

@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 — sound

Verdictsound
Concerns0 (none)
Heuristic0.0s
Duplication0.0s
Interrogation125.8s (2 bridge agents)
Total125.8s

💰 Value — error

value agent produced no parseable value-audit JSON.

  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge error: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content; opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/deepseek/deepseek-v4-pro: bridge stream ended without value-audit content

🎯 Usefulness — sound

Promotes a surface-solve-over-supervise pattern from duplicated example code into a cleanly-architected core export at the correct composability layer above both supervise() and runAgentic(), with two immediate callers converted.

  • Integration: Reachable: barrel-exported from src/runtime/index.ts:496-503, immediately called by both ablation arms (ablation.ts:213 and gepa-driver-prompt.ts:121) which previously used the deleted selfImprovingSupervisor/surfaceWorkerSeam pair. The deleted files are fully replaced — no dangling references remain (grep'd for selfImprovingSupervisor/surfaceWorker finds no callers).
  • Fit with existing patterns: Correct layering: strategy.ts imports from supervise/ (line 31-44), so superviseSurface lives at src/runtime/ importing from both — layering above the cycle. Matches the established supervise(profile, task, opts) signature shape (same argument order). Does not compete with delegate() (delegate.ts:1-10), which takes an open-ended INTENT and has the supervisor author worker profiles —
  • Real-world viability: Sensible defaults enable the minimal call superviseSurface(profile, task, { surface, worker }) — default router reuses the worker's, default budget scales off innerTurns, default maxLiveWorkers:1 serializes to avoid shared-artifact races, analysts:null clean-disables self-improvement. Per-worker reservation is innerTurns+2 so multiple workers fit the pool (a debugged lesson from the delete
  • Model: opencode/deepseek/deepseek-v4-pro
  • Bridge attempts: 3
  • Bridge warning: opencode/zai-coding-plan/glm-5.2: bridge stream ended without value-audit content; opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content

No concerns — sound change, no better or existing approach found. ✅


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 · 20260630T015708Z

…ise-and-polish
# Conflicts:
#	docs/api/primitive-catalog.md
@drewstone
drewstone merged commit 8089ea1 into mainJun 30, 2026
1 check passed
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