carlos / platform Public

Blocked handoff: Carloku billing — verified165472b8 and archived Unit A WIP open

On branch handoff/carloku-blocked-20261020

Carloku billing is not ready to enable. This is a blocked engineering handoff with recoverable unfinished source, not approval to merge, deploy, migrate production data or charge users.

Start here

  • Verified implementation: feat/carloku-backend-integration-20261003, review #211, exact 165472b8fccc2211471577d94a21f095741f8304. Its latest bounded source review is #314.
  • Archival branch: handoff/carloku-blocked-20261020, exact c153aec6372189e5a925a5bfcf470ede0942bb5d. Read HANDOFF.md, then continuation.json and manifest.json.
  • The archival branch has independent history and contains evidence, source snapshots and source.patch. DO NOT merge it into the product branch. It does not claim product CI or code acceptance.
  • Restore into a separate checkout at exact165472b8: verify archive hashes, run git apply --check on source.patch, then apply it and verify all92 source hashes. This recovers the WIP; it is not permission to run the held tests or deploy.

What is verified

165472b8 contains the prior billing preparation, sponsored-account inventory/enrollment-history and observation tools, fleet authentication/account consistency fixes, and route reload serialization. Actual Opus code/bounded-composition review accepted the last unit. Exact source and destination Amadan CI passed. Complete local disk-backed FULL partition coverage was independently audited under Paul's explicit host-specific validation exception. Original failed monolithic results remain FAILED. No crash/power-loss or real-provider proof is claimed.

No actual cohort has been enrolled or granted sponsored service. Implemented operator history is not an effective grant.

What is unfinished

Unit A is a dormant, single-host local-file authority implementation, saved as92 source files:10 modified existing files and82 additions. Its original worktree is /home/paulca/.cache/carloku-fleet-currentness-local; the archive makes those bytes recoverable without that machine. No final code acceptance, combined gate, changed-tip CI, commit to the implementation branch or promotion has occurred.

The original broker test failure, NOT_SENT CLOSED, remains unexplained. Actual Opus source/composition review returned HOLD_CAUSE_NOT_ESTABLISHED. Retained evidence lacks occurrence-specific enrollment state, ENROLL frames and journal/head tail; the review inferred temporary fixture data was lost, not that a filesystem-wide recovery search proved absence. An earlier initial-ADMIT failure also has an unresolved source-identity limitation. Neither is labelled flaky or fixed.

D5's corrected focused matrix passed7 tests/93 terminal cases;13 mutant variants in15 executions failed at their intended assertions. Those results do not resolve the original broker failure or establish whole-unit acceptance. Independent handoff audit matched all92 current/frozen sources and all1,781 archived file hashes. Parent separately applied the complete patch to a fresh base index and reproduced all92 hashes. No tests were rerun for this handoff.

Next engineering step

Read evidence/notes/b4-d1-source-composition-outcome-20261019.json and the governing b4-d1-class-f-accepted-disposition-20261019.json. Make an explicit, bounded technical disposition for the missing historical evidence before releasing further diagnostics. The existing exact-cause/reviewed-correction/final-green requirement remains binding; do not silently waive it or substitute future passing tests.

The reviewer suggested a separate recovery-to-enrollment composition test. It is only a proposal, needs an exact reviewed scope with genuine stopped-predecessor proof, and cannot clear the historical failure by itself. No further D1 diagnostics, production fixes, held m4/m6 tests, final combined runs, cross builds or full gates are currently released. Remaining required checks and explicit reconciliation holds are enumerated in continuation.json. This is an engineering decision, not another commercial-policy question for Paul.

After that, launch still needs effective sponsored grant/apply and entitlement consumers; workload baseline/continuity and increase guards; fleet projection/placement and managed console migration/restore; mounted signup/consent/quota/AlwaysAwake/resource enforcement; remaining metering/storage/seat-renewal/dormancy work; and a reviewed, explicitly scoped production rollout. Billing remains OFF.

Settled decisions and access

All existing finite Carloku accounts are sponsored for now: cover current usage, review increases separately, safely pause once agreed limits apply with data retained at Carloku's expense, and keep sponsorship with the same account through ownership transfer. No future-cohort expansion, invented limits, unlimited growth, automatic charging or historical-debt write-off.

Paul will run the future reviewed collector using BOPERATORBUNDLE. Do not ask who again. His usual sign-in method and nonsecret principal/session/privilege binding are still unknown. Saying “whatever account Carloku is on” identifies intent, not access provenance. Source-intended account271376211898/eu-west-1 is not live verified. No credential transfer, default/admin fallback, new IAM role, collection or provider/runtime execution is authorized. See archived operator-bundle package.

Ownership and preservation

The previous lead eb391b1c-52d7-47ce-9a0d-687444bf1e42 is closed; no replacement or implementation restart was performed. Original worktree, failures and runroot evidence remain intact. The archive excludes binaries and external scratch and explicitly cannot restore missing occurrence data. Prior raw reviews and source snapshots are retained under evidence/; original absolute paths are provenance, while archive-relative paths are portable.

Pricing PR15 and AWS support wording/contact remain separately owned and unshipped/unsent. The requested simulated-demo maintenance is separate and is not live billing or provider validation. Use Tailscale-only listener addresses, disk-backed scratch and the default Go cache under the new shared-machine rules.

Archive manifest SHA256: 8c30d867bdf873a6828651f7686cf5791be4c0f2a9e5282ba2874c53ddc3a83e. Source patch SHA256: 9527ada98825464389d40279a44f61dac97a4c27acd6c69bb2a8b4b0fd813af5.

Re-scoped by Paul, 2026-10-20: get plans live first, overages later. The metered path (165472b8, Unit A) is now a harvest source, not a merge candidate.

  • Spec (approved): docs/superpowers/specs/2026-10-20-plans-caps-packs-design.md. Free + Personal annual via Stripe Checkout, packs as licensed quantities, every cap warns at 80%, grace with received notice, then refuses only the capped action; no metered billing. Settled #321 policies (existing accounts sponsored, no automatic charging) carry over.
  • Plan 1 (catalog + account limits) merged to main as f550afa: internal/plans, account_plans, accounts/<sqid>/limits.json publisher, operator door and carlos accounts plan. Dormant until CARLOS_PLAN_CATALOG is set.
  • Next: plans 2–8 (box limits, creation caps, notices/grace, disk quotas, checkout from the harvested billingstripe client, pricing page, abuse tooling), listed in docs/superpowers/plans/2026-10-20-plans-1-catalog-and-limits.md.