Files
rutster/docs/reviews/2026-06-29-strategic-reviews-post-pivot-rescore.md
opencode controller 274d0ebff5 docs(reviews): strategic reviews + post-pivot re-score
File three docsReviewed under the strategic-relevance track:

- 2026-06-28-vision-sanity-check.md (Claude Opus 4.8): the idea-level
  review. Six findings S1-S6 (wedge emphasis, differentiation valley,
  compliance paradox, turn-taking ownership at the tap, solo scope
  vs. category timing, reframe to boundary+data loop as moat).
- 2026-06-28-gtm-path.md (Claude Opus 4.8): the GTM/positioning/
  pivots review. Seven findings G1-G6 + R1 (revenue-vector sequence,
  CLA before contributor #2 — the time-sensitive irreversible one,
  services as early engine, hosted = BYO-cloud, open-core seam,
  funding fork; plus pressure-test R1 gating the outbound beachhead).
- 2026-06-29-strategic-reviews-post-pivot-rescore.md (GLM-5.2):
  re-scores every vision + GTM finding against ADR-0007 (rent the
  trunk) + ADR-0008 (FOB / green-zone doctrine). Most findings
  strengthened or ratified by the pivot. One finding flagged as
  needing active user decision rather than doc-only action: G2
  (CLA posture), because ADR-0008 explicitly states multiple coding
  agents now work this repo and every commit without a CLA in place
  erodes the dual-license / AGPL / paid-embedding options.

Per AGENTS.md, ratifying strategy/ADR changes warrants the user's
signoff — this commit files the reviews and re-score as input to
that decision, not the decision itself. The user's pivot changes
(ADR-0007, ADR-0008, AGENTS, README, ARCHITECTURE, PORT_PLAN,
Cargo.toml, ADR-0003 status flip) are unstaged in the working tree
on this branch and remain the user's to commit.
2026-06-29 19:55:11 -04:00

8.8 KiB
Raw Blame History

Re-scoring the strategic reviews under ADR-0007 / ADR-0008

  • Date: 2026-06-29
  • Re-scores: 2026-06-28-vision-sanity-check.md (S1S6) and 2026-06-28-gtm-path.md (G1G6, P1P4, R1)
  • Trigger: the 2026-06 strategic pivot — ADR-0007 (rent the trunk transport; no first-party SIP stack) + ADR-0008 (the FOB / green-zone build-vs-reuse doctrine). README, ARCHITECTURE, PORT_PLAN, AGENTS all updated to match.

This doc does not ratify any strategy changes. It re-scores each finding against the post-pivot state so the load-bearing decisions surface as actionable items rather than sitting in unaddressed review docs. Per AGENTS.md, ratification of strategy/ADR changes warrants the user's signoff — this is the input to that decision, not the decision itself.


Verdict changes (summary)

Finding Pre-pivot Post-pivot Action
S1 (wedge leads with contestable determinism) open Strengthened — pivot ratifies the critique verbatim Note only
S2 (differentiation valley — pull rung-2 forward) open, load-bearing Sharper but easier — ADR-0007 retires the longest pole (trunk-SIP rewrite); valley shortens, core thesis stands Sequencing (capability ladder planning)
S3 (compliance paradox — builders are day-1, not regulated) open Reinforced — ADR-0007's "PSTN data-ownership is a graduation, not day-one" matches S3's "regulated is the eventual prize, not the beachhead" Note only (README already honest)
S4 (turn-taking ownership — OpenAI Realtime server VAD vs. core-authoritative) open, slice-3 spec decision Unchanged + clarified — ADR-0008 makes the OpenAI adapter green-zone and the reflex loop FOB; core-authoritative VAD is the only doctrine-consistent choice Slice-3 spec decision (deferred until slice-2 green)
S5 (long pole = integration/hardening) open Partially retired — ADR-0007 retires the named schedule risk (SIP-trunk rewrite); remaining long pole is the reflex loop, which is also the differentiator Note only
S6 (self-improvement loop is the actual moat) open Strengthened — ADR-0008 admits "the differentiating" as a FOB criterion; ARCHITECTURE's "Biggest technical risk" re-write makes the same correction from the other end Note only
G1 (OSS→contract→hosted sequence) open Unchanged Note only
G2 (CLA + commercial dual-license before contributor #2) open — the load-bearing finding Strengthened + urgent. ADR-0008 explicitly states multiple coding agents now work this repo — the CLA window is already closing. Every commit an agent makes without a CLA in place erodes the option. Needs active decision (not a doc edit)
G3 (services as early engine + tripwires) open Unchanged Note only
G4 (hosted = BYO-cloud, not multi-tenant SaaS) open Strengthened — ADR-0008's green-zone framing makes multi-tenant SaaS a doctrine violation (FOB-protected data on green-zone infrastructure) Note only
G5 (open-core seam: free wedge, paid convenience/scale) open Unchanged — gated by G2 Note only
G6 (bootstrap-via-services → optional raise) open Unchanged Note only
P1 (identity: substrate, not contact-center engine) open, high-leverage Sharpened — pivot makes the "white space = contact-center + reflex/eval loop + tap-as-open-protocol" framing explicit; README still says "AI-era contact center." Positioning decision. Positioning decision
P2 (beachhead: outbound + compliance, gated by R1) open, gated by R1 Reshaped but not retired — ADR-0007 makes outbound easier (no trunk to build; CPaaS call-control API for outbound dial); R1's consented-enterprise scoping + AUP guardrails stand Sequencing decision
P3 (north star: nothing leaves your boundary, including the model) open, directional Strengthened as direction — ADR-0008 admits the brain as green-zone but doesn't prevent an in-boundary open-weights brain later; the tap is brain-agnostic Note only
P4 (form: "Home Assistant for voice AI") open, later identity Unchanged Note only
R1 (outbound beachhead is double-edged) open, gates P2 Unchanged — guardrails stand Note only

The one finding that needs active decision: G2

Adopt a contributor-licensing posture (DCO at minimum; CLA with copyright control if you want the commercial options open) before merging the first external PR.

ADR-0008 explicitly states: "multiple coding agents now work this repo and need one explicit, mechanical rule so they classify consistently." The same observation applies to copyright: every commit an agent makes without a CLA in place narrows the option to ever go AGPL, dual-license commercially, or sell paid-embedding. None of these must be used — but all close silently without a CLA.

Today the user is the sole author → total copyright control is free. The CLA question becomes irreversible the moment an external PR merges. Coding agents (me included) are in a gray zone — derivative work made at the user's direction is the user's, but if the project ever wants to dual-license, the chain of authorship needs to be clean.

This is a strategy decision the user must make consciously; I cannot ratify it automatically. The action item is: address G2 before merging any external PR (and ideally before the project's identity pivots — P1 — gets committed to positioning that might attract contributors).


Findings now folded into the pivot itself

These findings were ratified by ADR-0007 / ADR-0008 — the docs now carry the position the review advocated. No further action beyond recording the alignment:

  • S1 (wedge emphasis on determinism is the contestable leg): ARCHITECTURE.md's "Biggest technical risk" rewrite ("no longer the SIP stack → the reflex loop itself, which is also the differentiator") is the same correction the review raised. Pivot ratifies S1.
  • S3 (compliance paradox — builders, not regulated, are day-1): ADR-0007's "PSTN data-ownership dilutes in layer 1; it's a graduation" matches the review's "regulated is the eventual prize reached via the builder persona, not the beachhead." README already re-scoped wedge bullet 2 honestly.
  • S5 (long pole = integration/hardening, AI helps least): ADR-0007 retires the named schedule risk (SIP-trunk rewrite) and redirects the solo-years to the differentiation surface. The remaining long pole (reflex loop hardening) is also the differentiator, so it's not undifferentiated plumbing. S5 substantially dissolves.
  • S6 (the self-improvement loop is the actual moat, not determinism): ADR-0008's FOB admission criteria make the data/eval loop FOB-by-doctrine (it's differentiating); ARCHITECTURE's risk rewrite makes the same correction.

Findings that remain open + actionable

  • S2 (differentiation valley — pull rung-2 forward): sequencing work, not doc work. ADR-0007 shortened the valley, but the core thesis (spearhead-end = Vapi parity; differentiation lives in capability ladder + spend-gate) stands. When scheduling rung-2 (human takeover via audiohook), weigh against the spearhead's "brutally thin" mandate.
  • S4 (turn-taking ownership at the tap): slice-3 spec decision. Unchanged by the pivot; ADR-0008 clarifies it. Slice-3 spec must make "who owns turn detection" an explicit decision defaulting to core-authoritative, brain VAD off, with the integration cost budgeted. Deferred until slice-2 lands green.
  • G2 (CLA posture): needs active user decision. See section above.
  • P1 (identity: substrate, not contact-center engine): positioning decision. README still says "AI-era contact center." The pivot sharpens the alternative framing ("self-hostable voice-agent substrate") without endorsing it. User's call.
  • P2 (beachhead: outbound + compliance, gated by R1): sequencing decision. ADR-0007 makes outbound easy (rented CPaaS call-control API), but R1's guardrails (consented enterprise outbound, sell-through-contract, AUP) still gate the beachhead.

Findings unchanged (recorded for completeness)

G1, G3, G4, G5, G6, P3, P4, R1 — see the GTM and vision-sanity-check docs for their original rationale. None of these were materially moved by the pivot; their original verdicts and decision-implied items stand.


Reference: the load-bearing pivot docs