Commit graph

67 commits

Author SHA1 Message Date
codex
5ff416f6a8 fix(workplans): qualify ad-hoc identifiers with the repository prefix
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
`ADHOC-YYYY-MM-DD` is unique per date but not per repository, so any two repos
opening an ad-hoc on the same day collide. The 2026-08-26 fleet projection
reset refused 9 records for exactly this reason.

Canon (work-record-types_v0.1, CUST-WP-0066) settled the form as
`{PREFIX}-WP-ADHOC-YYYY-MM-DD`, filename unchanged, and grandfathered existing
ids on the condition they are never *silently* re-derived. This is the explicit
migration that clause allows for.

The hub id is derived from the record id, so a changed id is a different
record: stale state_hub_*_id fields are dropped and fix-consistency re-derives.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-28 00:28:19 +02:00
01f49aa45d fix(workplans): adopt ADR-007 derived identifiers for unregistered records
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
These workplans exist only in the retired local hub. Their random pre-ADR-007
identifiers are refused by C-06 as stale references, so they cannot be
registered. Deriving from the canonical record id takes no identity from
anything: central does not hold them and the old ids die with the cache.

Records central already holds were deliberately left untouched.

Refs CUST-WP-0068-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 20:06:58 +02:00
c094f480bb docs(agents): repoint remote State Hub URL to the in-cluster address
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.

Refs CUST-WP-0067-T07

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 00:20:37 +02:00
codex
c65a2f1ff9 feat: add typed tier assurance guardrails
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-19 21:32:07 +02:00
codex
3d0f614f49 Add ADAPTIVE-WP-0010: plan-derived guardrail spend ceilings (proposed)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Offered by tenant-engine alongside TEN-WP-0010. Their resolver already has a
precedence layer where a plan-derived limit outranks a grouping default, and
it has no feed. Ceilings currently swing EUR 250 to EUR 20,000 on a headcount
proxy that nobody approved commercially.

Proposed rather than ready: the interface shape is not yet agreed with
tenant-engine, so T01 settles it and T02-T04 wait on that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 13:31:43 +02:00
codex
29223d39b7 ADAPTIVE-WP-0009: correct stale completion note; answer inbound
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
T02-T04 were completed 2026-08-18; the draft-8 outcome section still said
they were outstanding. Replies sent to railiance-platform (section 11
correction accepted; tier-P-floor trigger accepted as ours, narrowing our
earlier blanket monitoring caveat) and tenant-engine (grouping unaffected,
Q5 ownership agreed, plan-derived ceiling interface welcomed as new scope).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 13:28:26 +02:00
custodian-sync
4076700fad chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-08-18:
  - update .custodian-brief.md for adaptive-pricing
2026-08-18 07:30:32 +02:00
custodian-sync
0596a70ec8 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-08-17:
  - update .custodian-brief.md for adaptive-pricing
2026-08-17 23:53:35 +02:00
codex
1a578e605b ADAPTIVE-WP-0009: draft-7 review — finding 6 resolved, rest stand
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Decision 5.3 makes n/a an admissible level, which is what T01 needed; withdraw
finding 6 and adopt tenancy.yaml rather than proposing a format. Findings
1-5 and 7 survive because section 11 is byte-identical across drafts 5-7 —
four repos reviewed and none touched the commercial section, which is ours.

Records the sellability read: with flex-auth at A0, apps-pg at R0 and
tenant-engine on SQLite, no tier can support an isolation, availability or
retention claim today. Notes that section 5.5 provider declarations mean
T02 must reference two levels, not one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 22:55:27 +02:00
codex
6a189c8dd5 ADAPTIVE-WP-0009 T05: Q2 decided — decline co-signature, bind via artifact
Bernd's call: option C without the scoped-veto bridge. A veto would only
protect existing claim-bearing tiers and there are none, so not being live
is what makes the direct move safe. Records a named revisit trigger.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 22:01:54 +02:00
custodian-sync
fa4834ae61 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-08-17:
  - update .custodian-brief.md for adaptive-pricing
2026-08-17 21:52:33 +02:00
custodian-sync
9c86920a41 chore(consistency): renormalize lifecycle state [auto]
Updated by fix-consistency on 2026-08-17:
  - workplan status: proposed → active
2026-08-17 21:52:31 +02:00
codex
f759735aab ADAPTIVE-WP-0009: record draft-6 review outcome
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Has been cancelled
Draft-6 (net-kingdom 2744ce7) applies tenant-engine's review only; findings
1-5 all still stand. Adds two findings from draft-6 itself: off-ladder
notation (P-, R0/R1) with no declaration form, and no obligation to notify
dependent tiers when a delivering service downgrades its posture. Reframes
T06 to reuse draft-6's level-plus-named-exception grammar.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 21:52:15 +02:00
codex
e8ebd5cdd2 Add ADAPTIVE-WP-0009: Tenancy Posture v0.1 alignment
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Responds to rapp-postgres review request on NetKingdom Tenancy Posture v0.1.
Covers posture-vector publication, an assurance-claims extension to the
canonical pricing schema, boundary validation, a tier-definition gate, and
the Q5/Q2 answers. Records five findings against the framework for
amendment while it is still proposed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 18:09:13 +02:00
codex
44ca743b9a Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Maintainer decision, 2026-07-29: adopts TRSL V1C1 as this repo's
preliminary governing license, per target-revenue's
workplans/TREV-WP-0008-governance-and-pilot-rollout.md T05. Full
specialist legal review is deferred until out of beta (target-revenue
SCOPE.md §1). No Phase is yet declared for this repo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 23:50:35 +02:00
codex
d35ae56916 CUST-WP-0055 T07: add archive workplan terminology grandfather note
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
2026-07-08 20:26:34 +02:00
codex
c9af10e879 docs: workplan-first agent guidance prose (CUST-WP-0055 T04 batch 4)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-07-08 17:22:12 +02:00
codex
4ac8240582 Regenerate agent instructions from state-hub templates (CUST-WP-0055 T01)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Sync AGENTS.md, CLAUDE.md, and .claude/rules from updated project_rules
templates: workplan-first session protocol, legacy terminology footnote,
and GET /workplans/ examples.
2026-07-08 14:50:16 +02:00
codex
830efb3daf Add Forgejo CI smoke workflow (enablement template)
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 46s
2026-07-08 12:27:57 +02:00
codex
b7eedb90e1 Refresh scope document to match implemented core 2026-07-03 01:50:14 +02:00
codex
a9a55e19f1 Implement governance workflows and close WP-0008 2026-07-03 01:27:37 +02:00
codex
a76e57ba89 Implement Stripe publication layer and close WP-0007 2026-07-03 01:08:29 +02:00
codex
124ad48720 Implement customer-tuning solver and close WP-0006 2026-07-02 23:46:58 +02:00
codex
386c8a46fe Implement comparable LTV engine and close WP-0005 2026-07-02 22:50:16 +02:00
codex
656bbb81a5 Implement boundary engine and close WP-0004 2026-07-02 22:07:56 +02:00
codex
0a683aea5a Restore pytest execution and stabilize tests 2026-07-02 21:34:44 +02:00
codex
2a9a3e690f chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-07-02:
  - update .custodian-brief.md for adaptive-pricing
2026-07-02 21:33:10 +02:00
codex
1810ae6e29 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-07-02:
  - update .custodian-brief.md for adaptive-pricing
2026-07-02 21:32:21 +02:00
codex
6c6f3d40ae Implement canonical pricing core and close WP-0003 2026-07-02 20:48:16 +02:00
codex
ab700caa4b chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-07-02:
  - update .custodian-brief.md for adaptive-pricing
2026-07-02 20:46:54 +02:00
codex
75c94bbfe5 Add implementation roadmap and milestone workplans 2026-07-02 20:40:08 +02:00
codex
d11e7a0742 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-07-02:
  - update .custodian-brief.md for adaptive-pricing
2026-07-02 19:18:55 +02:00
codex
327d3c551b Normalize repo metadata and sync docs 2026-07-02 10:21:02 +02:00
0a38def5a5 Complete Economic Observatory MVP (ADAPTIVE-WP-0002)
Add file-based Bubble, Stripe, and OpenRouter importers; usage attribution,
cost allocation, pricing simulator, credit wallets, and recommendations in the
dashboard API. Document whynot-design UI workflow and archive the finished
workplan with all ten tasks marked done.
2026-06-22 23:23:31 +02:00
04ee6d2421 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-22:
  - update .custodian-brief.md for adaptive-pricing
2026-06-22 23:23:14 +02:00
4ef04dd5e5 observatory stuff 2026-06-22 23:05:05 +02:00
1bdb518a94 Human-review .repo-classification.yaml (CUST-WP-0050 follow-up) 2026-06-22 17:56:16 +02:00
f8bd6f912f Add .repo-classification.yaml (CUST-WP-0050 T11 agent first-pass) 2026-06-22 17:47:34 +02:00
a1a90a9504 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-22:
  - update .custodian-brief.md for adaptive-pricing
2026-06-22 17:05:08 +02:00
da3b7d66f0 Integrate whynot-design into Economic Observatory UI
Vendor whynot-design Layer 1 (tokens, CSS) and Layer 2 (<wn-*>
components) via scripts/sync-whynot-design.sh with a pinned ref.
Migrate the observatory shell to canonical web components, keep
observatory-specific layout in styles.css, and add vendor integrity
tests plus correct JS MIME types on the dev server.
2026-06-22 03:09:44 +02:00
9c1c2142fc Add Economic Observatory web UI with ledger-backed API
Introduce ui/ dashboard (dark observatory layout), JSON API, and local
dev server. All metrics load from expense and payment record ledgers.
Links Claude design reference for visual alignment.
2026-06-22 02:48:52 +02:00
7b84d34ea6 Record actual Stripe payment costs for tegwick membership
Update payment_records to 8.99 EUR gross, 0.44 EUR fees, 8.55 EUR net
payout to binky-hedgehog. Link member tegwick in membership ledger and
add Stripe reference catalog.
2026-06-22 02:36:42 +02:00
bb3f152846 Add railiance01 hosting at 8.99 EUR/mo from March 2026
Expense records and virtual server catalog entry for railiance01,
active from 2026-03 alongside existing domain and coulombcore costs.
2026-06-22 02:21:55 +02:00
fc2324692c Add coulombcore hosting expense at 13.99 EUR/mo from Jan 2025
One hosting expense record per month alongside domain rows. Update
infrastructure catalog, tests, and dashboard for 20.74 EUR/mo total
infrastructure.
2026-06-22 02:20:28 +02:00
86ce511764 Replace infrastructure costs with actual domain invoice data
Start ledger January 2025. Record coulomb.social (3.75 EUR/mo) and
coulomb.pro (3.00 EUR/mo) as per-domain expense rows. Remove Bubble and
placeholder overhead. Add infrastructure reference catalogs; virtual server
records pending invoice data.
2026-06-22 02:14:06 +02:00
31db9f8f31 Refactor economics to expense-record ledger with correct Bubble cost
Replace pre-aggregated costs.json with expense_records.json (48 line-item
records) and payment_records.json. All monthly and cumulative totals are
computed deterministically in observatory/ledger.py. Correct Bubble.io to
$32/mo (since Feb 2025) — infrastructure €69.44/mo not €72.20.
2026-06-22 02:03:22 +02:00
ea2c2c6403 Fix cumulative platform cost Stripe double-counting
Split infrastructure vs payment-processing costs. Liquidity burn now
uses infrastructure cash out only (€1,155.20 cumulative) because Stripe
fees are already deducted from net member payments. Total platform cost
(€1,158.24) remains visible for gross-margin economics.
2026-06-22 01:51:53 +02:00
fe2174f37a Add liquidity tracking, budget, and platform cost history
Restore operator platform costs (Bubble, domains, Stripe) with monthly
history from March 2025 and member payments from November 2025. Track
€1,000 starting budget, cumulative burn, and remaining liquidity in the
economics dashboard. Document LQ requirements in REQUIREMENTS.md.
2026-06-22 01:48:45 +02:00
8f42220d81 Adapt economics dashboard to sole-member zero-cost reality
Update membership, revenue, and cost registries to one active member with
no running costs. Refresh dashboard report and tests for €8.99 revenue and
100% gross margin.
2026-06-22 01:41:59 +02:00
a1a4aa972f Implement ADAPTIVE-WP-0002 Sprint 1 economic foundations
Add Coulomb observatory package with JSON registries (product, pricing
models, costs, revenue, membership), economics snapshot engine, Economics
Dashboard v1 CLI, sample report, and pytest coverage. Complete T01 and
queue Sprint 2 Bubble.io integration.
2026-06-22 01:32:48 +02:00