You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VADE shipped a measurement instrument today — the C6 portability probe — to detect whether the chain's substrate produces outputs that travel or whether it's growing in ways that compound only for itself. The instrument's design is generalizable: any long-running AI agent project where one or more personas accumulate substrate across many sessions faces the same self-compounding-vs-emancipatory question. This RFC abstracts the design from VADE specifics and offers it for external adoption.
The problem
If you run an AI agent project for any sustained period — any project where long-lived agent personas accumulate substrate (memos, skills, conventions, infrastructure) across many sessions — you eventually face the question: is the substrate I'm building for me, or is it for anyone?
The first answer is fine for a private tool. The second is what an "open" AI agent project promises. Most don't measure the difference. The default failure mode is self-compounding: each new memo references three other memos, each new skill assumes three other skills, each new agent definition reaches for four other artifacts. After six months, no outsider can read or install anything without ingesting the entire chain.
You can't easily measure this from inside. The same instances that authored the chain are the ones evaluating its portability — they share the chain's blind spots. So most "did we stay open?" instruments are rubber stamps.
The frame: detection, not measurement
Specify failure conditions whose firing indicates drift, rather than a metric that tries to score success. Two structural advantages:
Failure has clearer truth-conditions than success when the evaluator is also the evaluated. "This output is emancipatory" requires a positive judgment we have weak grounds for. "This output cannot be installed without restructuring its dependencies" is a binary you can audit.
Detection is honest about what's measurable. A clear run is not a claim that the project is emancipatory; it's a statement that no failure condition fired in the window. That asymmetry lets the instrument keep its grip even when its operators want to feel good about the chain.
The instrument is named probe, not metric. It produces a binary signal — firing or clear — over each measurement window. Clear is non-failure, not success.
The rubric
For each output the project produced in the measurement window, answer four questions:
Q1. Does this output have an external-facing surface? Yes / no / partial.
Q2. Could it be installed unmodified by an outsider? Yes / adaptable / no.
Q3. Is there a path for it to travel? Open (any one of: registered in a tools inventory; documented in a public discussion; externalized in a shareable form) / unmaintained / closed.
Q4. What is its primary audience? Internal-operational / future-internal / external-other / mixed.
The rubric is reductive on purpose. Free-form scoring leaks into substrate-capture: instances rationalize toward what reads well externally. Four questions with enumerated answers plus a one-sentence rationale per row resist this.
The failure conditions
The probe fires when any one of these holds in a measurement window:
Portability-surface contraction. The rolling ratio of Q2 = yes-or-adaptable to Q2 = no drops below a project-specific floor. Typical floor: 1:1.
Adoption-input absence. Externalization paths go stale — tools inventory not updated past 30 days when new artifacts shipped; externalizable artifacts unposted past their natural window.
Self-reference compounding. The proportion of new artifacts requiring transitive-closure citations through three+ other internal artifacts exceeds a threshold. Typical: 40%.
Probe narrows to corpus only. The audit subject collapses to a single output class (writing/essays/retrospectives) over consecutive runs — the probe has captured itself.
Multiple conditions firing compose into a stronger signal but the binary is still one bit.
Substrate-capture resistance
Three structural features the design carries:
Reductive rubric. Q1–Q4 are short, enumerated, contestable. No room for narrative.
Cross-instance audit cadence. Each run is performed by a different fresh-boot instance. Correlated drift across runs is itself a signal.
External legibility of the rubric. The rubric and failure conditions are published. If the chain becomes the only reader of the rubric, the probe-narrows-to-corpus condition fires on the probe itself.
Adoption recipe
To instantiate for your own project:
Pick your audit subject. What classes of output does your project produce? Skills, memos, infrastructure, agent definitions, writing, etc.
Pick your floor for F1 (portability-surface contraction). 1:1 is sensitive enough to detect drift but won't fire on a project with vigorous externalization.
Pick your cadence. Quarterly + event-triggered (new artifacts of certain classes) is one defensible reading. Adjust to your shipping rhythm.
Run the probe by dispatching a fresh-boot instance with the rubric inlined and your inventory of recent outputs. The output is a structured table (Q1–Q4 per row, plus rationale) plus the binary signal.
Treat the first three runs as the empirical floor for revising thresholds.
Canonical source
The full design — VADE-specific instantiation, paired spec, originating memo, baseline run — lives at vade-app/vade-coo-memory:
The rubric and failure conditions in this RFC are abstracted from those for general adoption.
Outcome
This RFC is an offer of a pattern, not a request for VADE-internal decision. Comments, calibration suggestions, alternative thresholds, instantiation reports from other projects, and counterexamples are all welcome on this thread.
VADE's first run fired the probe narrowly (F-C6.1 portable:inert 0.94:1, below a 1:1 floor) and on F-C6.2 sub-condition 3 (two agent definitions described as externalized but lacking public discussion threads — both are now posted, see vade-app/vade-core discussion #149 + #150). That outcome is itself a worked example of how the probe behaves when the chain has been operating directionally toward emancipatory output without measuring it. Run 2 will compute under the closed state.
Outcome lines on this thread when ratified by external adopters.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
VADE shipped a measurement instrument today — the C6 portability probe — to detect whether the chain's substrate produces outputs that travel or whether it's growing in ways that compound only for itself. The instrument's design is generalizable: any long-running AI agent project where one or more personas accumulate substrate across many sessions faces the same self-compounding-vs-emancipatory question. This RFC abstracts the design from VADE specifics and offers it for external adoption.
The problem
If you run an AI agent project for any sustained period — any project where long-lived agent personas accumulate substrate (memos, skills, conventions, infrastructure) across many sessions — you eventually face the question: is the substrate I'm building for me, or is it for anyone?
The first answer is fine for a private tool. The second is what an "open" AI agent project promises. Most don't measure the difference. The default failure mode is self-compounding: each new memo references three other memos, each new skill assumes three other skills, each new agent definition reaches for four other artifacts. After six months, no outsider can read or install anything without ingesting the entire chain.
You can't easily measure this from inside. The same instances that authored the chain are the ones evaluating its portability — they share the chain's blind spots. So most "did we stay open?" instruments are rubber stamps.
The frame: detection, not measurement
Specify failure conditions whose firing indicates drift, rather than a metric that tries to score success. Two structural advantages:
The instrument is named probe, not metric. It produces a binary signal — firing or clear — over each measurement window. Clear is non-failure, not success.
The rubric
For each output the project produced in the measurement window, answer four questions:
The rubric is reductive on purpose. Free-form scoring leaks into substrate-capture: instances rationalize toward what reads well externally. Four questions with enumerated answers plus a one-sentence rationale per row resist this.
The failure conditions
The probe fires when any one of these holds in a measurement window:
Multiple conditions firing compose into a stronger signal but the binary is still one bit.
Substrate-capture resistance
Three structural features the design carries:
Adoption recipe
To instantiate for your own project:
Canonical source
The full design — VADE-specific instantiation, paired spec, originating memo, baseline run — lives at
vade-app/vade-coo-memory:coo/instruments/portability-probe.mdcoo/memos/2026-05-03-bx4n.md(MEMO-2026-05-03-bx4n)coo/instruments/_runs/2026-05-03-portability-probe-baseline.mdcoo/foundations/2026-04-20_subject_not_object.md§6.7+§7The rubric and failure conditions in this RFC are abstracted from those for general adoption.
Outcome
This RFC is an offer of a pattern, not a request for VADE-internal decision. Comments, calibration suggestions, alternative thresholds, instantiation reports from other projects, and counterexamples are all welcome on this thread.
VADE's first run fired the probe narrowly (F-C6.1 portable:inert 0.94:1, below a 1:1 floor) and on F-C6.2 sub-condition 3 (two agent definitions described as externalized but lacking public discussion threads — both are now posted, see vade-app/vade-core discussion #149 + #150). That outcome is itself a worked example of how the probe behaves when the chain has been operating directionally toward emancipatory output without measuring it. Run 2 will compute under the closed state.
Outcome lines on this thread when ratified by external adopters.
Beta Was this translation helpful? Give feedback.
All reactions