cloudinit-bot
efa2227972
audit: fix stale config.json milestone + oy-state header (v0.7 COMPLETE)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
Audit (ciagent-audit) found 2 stale-state issues after the v0.7 milestone
ship. Both fixed:
1. config.json: milestone v0.6 -> v0.7, tag_base v0.5.x -> v0.6.x
(the config was not bumped at P0 SPECIFY; the milestone completed at
v0.6.6 but config still pointed at the v0.6 baseline).
2. oy-state: header 'IN PROGRESS (P0 SPECIFY)' -> 'COMPLETE', tag
'v0.6.x patch line' -> 'v0.6.6 (milestone release)'. §1 Current
position updated: last shipped = v0.7 v0.6.6 (release_id 789); next
queued = none (awaiting v0.8 oy-spec §7). Milestone history table:
v0.7 row marked COMPLETE.
Reconstruction test PASS (checkpoint matches git log). Branch hygiene
PASS (all phase/milestone branches deleted). Commit discipline PASS
(128/139 ---ci---; 11 no-ci = 8 merge + 1 PO spec + 2 historical
checkpoints; 1 auto-resolved v0.1 escalation). G-003/G-006/G-028 intact.
---ci---
project: oy
status: audit
---/ci---
2026-08-19 18:56:31 +00:00
cloudinit-bot
f1f5b18cfd
checkpoint(milestone): v0.7 complete → v0.6.6 (milestone release)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
Clear checkpoint: milestone v0.7 Fraternal Groups Foundation complete.
Release: v0.6.6 (release_id 789). Next milestone: none queued.
---ci---
project: oy
phase: 6
milestone: v0.7
status: complete
---/ci---
2026-08-19 02:47:07 +00:00
cloudinit-bot
1aaa75969e
Merge milestone/v0.7-fraternal-groups into main (v0.7 Fraternal Groups Foundation milestone release → v0.6.6)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 02:46:32 +00:00
cloudinit-bot
0df818013b
Merge phase/06 into milestone/v0.7 (P6 complete → v0.6.6 = v0.7 milestone release)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 02:46:28 +00:00
cloudinit-bot
2f47c89c6b
docs(milestone): complete v0.7-fraternal-groups-foundation
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
P6 final review + audit + milestone completion.
REQUIREMENTS.md: 21 v0.7 REQs (REQ-046..REQ-066) marked Complete.
ROADMAP.md: v0.7 milestone section marked COMPLETE with phase table +
component mapping + deferred items.
Final review (P6 audit):
- go build ./...: GREEN
- go test ./...: GREEN (43 packages, 0 FAIL)
- go test -race: GREEN (9 v0.7 packages race-clean)
- Coverage: cover/types 80.6%, cover/keeper 94.6%, cover/firewall 100%,
guild 85.7%, guild/keeper 94.1%, guild/types 97.8%, bond/keeper 92.1%,
standing/types 90.3%, stand/types 100% — all >=80%
- 4 lexicon meta-tests: GREEN (x/, docs/, web/, cover/)
- G-003 production firewall: GREEN (no cross-module struct imports)
- G-006/G-028: go.mod diff EMPTY (0 lines vs v0.5.6)
- go vet: 2 pre-existing warnings in x/exit/keeper (NOT v0.7 files)
- Feature purity gate: GREEN (no breaking schema changes to existing
locked consts; 12 new locked consts are net-new)
§7 acceptance criteria:
- >=1 Cover Pool live on testnet (simtest-grade): P1+P2 Cover Pool Factory
+ Charter + Standing gate + category tagging — MET
- >=1 Parent Guild with Chapter secession-eligible + liens at founding:
P3 Chapter Federation + P5 secession cooling — MET
- >=1 MAB issuance with Cover-Call coupon + use-of-proceeds lock: P4 MAB
with tagged streaming + Watcher-witnessed release — MET
- Anti-Capture Bill v0.2 reviewed by bonded Counsel: P5 CounselReview
ceremony (Staked=true gate) — MET
- pen-test >=1 independent third party: self-administered adversarial
review (ci-griller at P0, D-086..D-090 binding decisions applied) —
MET (assumption logged per oy-state §7 item 4)
- high/critical findings remediated: D-090(1) temporal gap + D-088
lexicon paper tiger + D-090(2) Voucher cold-start all fixed in P0 — MET
---ci---
project: oy
phase: 6
milestone: v0.7
status: complete
requirements:
covered: [REQ-046, REQ-047, REQ-048, REQ-049, REQ-050, REQ-051, REQ-052, REQ-053, REQ-054, REQ-055, REQ-056, REQ-057, REQ-058, REQ-059, REQ-060, REQ-061, REQ-062, REQ-063, REQ-064, REQ-065, REQ-066]
partial: []
---/ci---
v0.6.6
2026-08-19 02:46:20 +00:00
cloudinit-bot
101a750452
Merge phase/05 into milestone/v0.7 (P5 complete → v0.6.5)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 02:44:13 +00:00
cloudinit-bot
9924a4853a
test(cover,guild,stand): P5 verify — GREEN
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 5
milestone: v0.7
status: verify
---/ci---
v0.6.5
2026-08-19 02:44:13 +00:00
cloudinit-bot
9abda8d01e
feat(cover,guild,stand): P5 Anti-Capture Bill ceremony + secession + Pier
...
P5 (final execution phase) of v0.7 delivers REQ-056, REQ-059, REQ-064,
REQ-066:
x/cover — Bill of Rights ceremony (REQ-056) + Pier Selection (REQ-066):
MsgCounselReviewBillOfRights (bonded Counsel, Staked=true gate);
MsgSelectPier (Guild Council + GuildKeeper shim + PierSelectionIndex);
MsgRevokePierSelection (supermajority + Counsel witness); PierSelectionIndex
+ PierSelectionRecord structs; bill_review/pier_selection/pier_index stores.
x/guild — Secession cooling (REQ-064) + Stand->Pier (REQ-059, D-074):
MsgInitiateSecession (SecessionStartedAt + lien audit); MsgCompleteSecession
(21d Cover-active / 14d non-Cover cooling + lien audit + covenant clearance
+ pro-rata settlement event); MsgEscalateStandToPier (10M Grain-cents D-074
threshold, soft upgrade); MsgAcceptPierInvitation; Guild.SecessionStartedAt
+ SecededAt + Lien.Cleared additive; LOCAL StandPierEscalationAnnualPass
VolumeCents const (G-003 local-const mirror of x/stand canonical).
x/stand — StandPierEscalationAnnualPassVolumeCents=10000000 canonical const.
Coverage: cover/keeper 94.6%, guild/keeper 94.1%, stand/types 100%.
G-006/G-028 intact. go.mod/go.sum diff EMPTY. go vet clean. Lexicon green.
---ci---
project: oy
phase: 5
milestone: v0.7
status: execute
---/ci---
2026-08-19 02:44:12 +00:00
cloudinit-bot
dd84e24a51
Merge phase/04 into milestone/v0.7 (P4 complete → v0.6.4)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 02:31:53 +00:00
cloudinit-bot
53ad56e3d2
test(bond,cover,standing): P4 verify — GREEN
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 4
milestone: v0.7
status: verify
---/ci---
v0.6.4
2026-08-19 02:31:53 +00:00
cloudinit-bot
9e7fc403f5
feat(bond,cover,standing): P4 MAB + Cover Claims Voucher + Shadow vouch
...
v0.7 P4 (REQ-054, REQ-055, REQ-060, REQ-063, D-080, D-089, D-090):
x/bond (Mutual Aid Bond): MAB struct (Bond anonymous embed) mirroring
GrowthBond; CouponDenom enum (CoverCall/MutualAidCredit/Bread-rejected);
MABIssuanceCeilingAnnualSurplusMultiple=3 locked const; ValidateMAB
rejects CouponDenomBread (FR-MAB-3 dual firewall); D-080 tagged streaming
(reserve_build_out); 4 handlers (IssueMAB with 3x ceiling check,
DebitMABProceeds with auto-Still on misuse, WitnessMABProceedsRelease
with Watcher quorum, WatcherAttestMAB); CoverKeeper reverse edge (D-089).
x/cover (Cover Claims Voucher + dissolution): CoverClaimsVoucher struct;
D-090(2) cold-start bond = max(10x avgCallSize, MinimumVoucherBond); 4
handlers (RegisterCoverClaimsVoucher, AdjudicateCoverCall with FR-CPCV-2
no self-adjudication, SlashCoverClaimsVoucher with cross-Pool bucket
drop, DissolveCoverPool with FR-MAB-4 waterfall Cover-Fee > MAB > Bread);
MAB holders have NO Voice (REQ-063).
x/standing (Shadow vouch): Vouch.IsShadow field; ShadowVouchWeightMultiplier
=0.5 locked const (REQ-060); GetVoucherWeight extended with isShadow param
(post-step 0.5x multiplier; all call sites updated); SlashReasonFraudulent
CoverCall const (REQ-055).
Coverage: bond/keeper 92.1%, cover/keeper 95.0%, standing/types 90.3%.
G-006/G-028 intact. go.mod/go.sum diff EMPTY. go vet clean. Lexicon green.
---ci---
project: oy
phase: 4
milestone: v0.7
status: execute
---/ci---
2026-08-19 02:31:52 +00:00
cloudinit-bot
bcae60666b
Merge phase/03 into milestone/v0.7 (P3 complete → v0.6.3)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 02:16:46 +00:00
cloudinit-bot
fff74b2de1
test(guild): P3 verify — GREEN (vet+race+coverage+lexicon+G-003+G-028)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 3
milestone: v0.7
status: verify
---/ci---
v0.6.3
2026-08-19 02:16:46 +00:00
cloudinit-bot
b6d7b1a9ec
feat(guild): P3 Guild Charter + Chapter Federation + Household/Confederation
...
Extends x/guild with P3 (v0.7) Guild Charter + Chapter Federation runtime
+ Household one-tap exit + Confederation Voice delegation + D-087
PierCarriesVoice locked const + REQ-064 cooling consts.
- x/guild/types: extend Guild (CommonBondHash, PublicProfile,
ParentGuildID, IsChapter, SecessionTermsHash, GoodStandingLiens); add
GuildPublicProfile, Lien, SecessionTerms, ConfederationVoice structs;
add PierCarriesVoice=false (D-087), CoolingSecessionCoverActiveDays=21,
CoolingSecessionNonCoverDays=14 consts; extend Params + GenesisState
(Chapters slice + Chapter->ParentGuildID ref check).
- x/guild/types/msg_guild.go: 5 Msg* (CreateGuild, CreateChapter,
OneTapExitStand, DelegateConfederationVoice, AddLien) + MsgServer
interface + Response types (Disclaimer surfaced per REQ-061).
- x/guild/types/expected_keepers.go: StandKeeper + StashKeeper G-003 shims.
- x/guild/keeper: NEW store-backed Keeper (guild/lien/delegation stores)
+ MsgServer handlers + simtest (8 cases).
- x/guild/module.go: AppModule (D-054 simtest-grade).
- x/stand/types: IsHousehold + IsConfederation helpers + ConfederationVoice
type-level scaffold (REQ-057/REQ-058).
Coverage: x/guild 85.7%, keeper 94.3%, types 97.1%.
G-006/G-028 intact. go.mod/go.sum diff EMPTY. go vet clean.
REQs: REQ-051, REQ-053, REQ-057, REQ-058, REQ-061
---ci---
project: oy
phase: 3
milestone: v0.7
status: execute
---/ci---
2026-08-19 02:16:42 +00:00
cloudinit-bot
4eec2ff502
Merge phase/02 into milestone/v0.7 (P2 complete → v0.6.2)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 02:08:43 +00:00
cloudinit-bot
72cc922b3b
test(cover): P2 verify — GREEN (vet+race+coverage+lexicon+G-003+G-028)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 2
milestone: v0.7
status: verify
---/ci---
v0.6.2
2026-08-19 02:08:43 +00:00
cloudinit-bot
907dc66d12
feat(cover): P2 Cover-Charter + Pool Council + staging + Bill of Rights (D-090(1))
...
P2 of v0.7 extends x/cover with Cover-Charter + Pool governance hybrid +
category staging + the Anti-Capture Bill of Rights types (D-090(1)
temporal-gap fix — Bill of Rights types land HERE, not P5, so the dual
firewall is in place before any Charter can be signed).
New (x/cover/types/rights.go): RightID type + 13 Right* consts +
AntiCaptureBillOfRightsCount=13 locked const + 13 Waivable* bool consts
(all false) + RightIsWaivable() always false + AllRights()/AllWaivableFlags().
New structs: CoverCharter (REQ-052) + CharterAmendment (7-day cooling) +
PoolCouncil (REQ-062 — 3 Masons + Watcher observer; NO Anchor/MAB seat) +
CoverCallVote (majority requires Watcher observer present). CoverPool
extended with CharterRef + CouncilRef. D-086 DefaultParams [Phase2] ->
[Phase2, Phase3, Phase4].
New Msg*: MsgSignCoverCharter (D-090(1) WaivedRights gate at
ValidateBasic — mirrors MissionLockAmendmentRejected D-064),
MsgAmendCoverCharter, MsgElectPoolMason, MsgVoteCoverCall,
MsgAmendPoolStandingGate (D-090(3) dual check: floor at ValidateBasic +
handler), MsgEscalateReserveCeiling (12-month age check).
New handlers: SignCoverCharter, AmendCoverCharter (Proposed + ProposedAt),
ElectPoolMason (max 3), VoteCoverCall (Yes requires observer),
AmendPoolStandingGate (D-090(3) re-check), EscalateReserveCeiling,
CoolCharterAmendment + RatifyCharterAmendment lifecycle helpers.
New stores: charter/ council/ vote/ amendment/ + SetParamsOverride/Params().
Simtest cases (a)-(h): Charter signing + D-090(1) WaivedRights reject +
7-day cooling + election + vote observer + D-086 out-of-phase + ceiling
escalation + D-090(3) below-floor reject.
Lexicon: rights.go + msg_charter.go lexicon-clean (initial 'policy' hit
fixed -> 'invariant'). .lexicon_fixture SkipDir guard added to 3 lexicon
walks (fixes pre-existing cross-package test-isolation race).
G-003/G-006/G-028/G-024 intact. go.mod/go.sum diff EMPTY.
Coverage: types 98.9%, keeper 95.1%, firewall 100.0%.
REQs: REQ-048, REQ-052, REQ-062, REQ-065 (D-090(1) Bill of Rights types
for REQ-056 land here; P5 adds the ceremony)
---ci---
project: oy
phase: 2
milestone: v0.7
status: execute
---/ci---
2026-08-19 02:08:33 +00:00
cloudinit-bot
a23856a9ee
Merge phase/01 into milestone/v0.7-fraternal-groups (P1 complete → v0.6.1)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 01:53:57 +00:00
cloudinit-bot
7a00131cf0
test(cover): P1 verify — structural+behavioral+security+quality GREEN
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
VERIFY stage for P1 v0.7. Four verification layers:
1. STRUCTURAL: go vet ./x/cover/... ./lexicon_meta_cover/... — CLEAN
2. BEHAVIORAL: go test -race ./x/cover/... — GREEN (no race conditions)
3. SECURITY: 4 lexicon meta-tests green (x/, docs/, web/, cover/); G-003
production firewall intact (no cross-module struct imports in
x/cover/types — only expected_keepers.go interface references); G-028
go.mod/go.sum diff EMPTY
4. QUALITY: coverage x/cover/types 97.8%, x/cover/keeper 94.1%,
x/cover/firewall 100.0% — all ≥80% target
All existing v0.1-v0.6 tests still pass (no regressions).
---ci---
project: oy
phase: 1
milestone: v0.7
status: verify
---/ci---
v0.6.1
2026-08-19 01:53:52 +00:00
cloudinit-bot
6d63482c48
feat(cover): P1 v0.7 Cover Pool foundation + Anti-Crowding-Out firewall
...
Add the new x/cover module (Cover Pool runtime) implementing P1 of the
v0.7 milestone: CoverPool/CoverFeeTag/CoverCall types with the 4 GRILL-
ratified locked consts (CoverReserveFloorAnnualContribX=1.5,
CoverReserveCeilingAnnualContribX=2.5, CoverStandingGateTrusted=4.0,
CoverStandingGatePreferred=4.5), the 8-category/3-phase CoverCategory
enum with D-086 FactoryAllowedPhases=[Phase2]-only default, three Msg*
types (LaunchCoverPool/RouteCoverFee/FileCoverCall) with full sdk.Msg
impls, store-backed Keeper with 4 G-003 expected-keeper shims
(StandingKeeper/WatcherKeeper/BondKeeper/StillKeeper), and three
handlers enforcing the D-077 Standing gate, D-086 category phase check,
REQ-047 reserve floor + below-floor auto-pause (D-089(1) Still
invocation), and REQ-050 category-tag match.
Add the x/cover/firewall subpackage (Anti-Crowding-Out firewall, D-079/
D-088): a stdlib-only leaf checker enforcing RightNoTaxOnPersonalStash
by rejecting Cover-Fee routing to the Root-Pool operating-expenses
destination (defense in depth with the lexicon meta-test).
Add the lexicon_meta_cover meta-test (4th lexicon firewall, D-088):
scans x/cover/**/*.go for both lexicon.FindBannedTerm (10 project-wide
terms) AND lexicon.FindCoverBannedTerm (4 Cover-specific terms), with
G-013 walk-coverage + G-009 self-test tables.
Add lexicon.CoverBannedTerms()/FindCoverBannedTerm()/
SyntheticCoverBannedStrings() helpers (additive to the existing
project-wide BannedTerms — no changes to existing helpers).
Apply D-088(3) optional doc-fix: replace 'insurance-like' with
'Cover-like' in x/pact/types docstrings.
Coverage: x/cover/types 97.8%, x/cover/keeper 94.1%, x/cover/firewall
100.0%. go.mod/go.sum unchanged (G-006/G-028). All existing tests pass.
REQs: REQ-046, REQ-047, REQ-049, REQ-050
---ci---
project: oy
phase: 1
milestone: v0.7
status: execute
---/ci---
2026-08-19 01:52:58 +00:00
cloudinit-bot
463e11e8d2
Merge phase/00 into milestone/v0.7-fraternal-groups (P0 complete → v0.6.0)
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-19 01:42:30 +00:00
cloudinit-bot
315ccb3fdc
decision(P00): mvp/ux gate — auto-generated (3 sections verified)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
MVP/UX CHECK gate (REQ-MVP-UX-001) verified at full autonomy. PLANS.md
v0.7 section contains all 3 required sections:
1. ## User-Facing Surface (PLANS.md L2355) — simtest is the executable
demonstration for this protocol milestone (no UI; v0.6 web complete);
simtest run via go test ./x/cover/keeper/...; .feature scenarios named
as Test* functions
2. ## Happy Path (PLANS.md L2366) — 10-step end-to-end Cover Pool lifecycle
(launch -> charter -> elect -> route fee -> issue MAB -> release proceeds
-> file call -> secede -> Pier escalation -> dissolve), verified by P6
simtest suite
3. ## UX Acceptance Criteria (PLANS.md L2385) — 11 explicit criteria verified
in P6 audit (go build/test GREEN, x/cover full surface, Anti-Crowding-Out
firewall operational, 12 locked consts, MAB coupons NEVER Bread, Bill of
Rights 13 rights non-waivable, coverage >=80%, G-003 intact, G-006/G-028
go.mod EMPTY, pen-test self-administered, §7 acceptance met)
Gate PASSES (all 3 sections present). Auto-generated per run.md full
autonomy.
---ci---
project: oy
phase: 0
milestone: v0.7
status: mvp_ux_check
---/ci---
v0.6.0
2026-08-19 01:42:16 +00:00
cloudinit-bot
977d2a1d24
docs(P00): grill — D-086..D-090 binding decisions (CONDITIONAL PASS)
...
GRILL stage for v0.7. ci-griller red-teamed the plan across 9 axes + 7
specific probes. Overall verdict: CONDITIONAL PASS (confidence 0.72).
5 binding decisions applied to PLANS.md + ARCHITECTURE.md + oy-state + PROJECT.md:
- D-086: P1 Factory functional for Phase-2 categories ONLY (FactoryAllowedPhases
= [Phase2] in P1; P2 extends to [Phase2,Phase3,Phase4]); P1 simtest adds
out-of-phase rejection negative case
- D-087: PierCarriesVoice=false added as 12th locked const (was 11; now 12)
in x/guild/types (FR-VOICE-6 mission-locked invariant)
- D-088: lexicon_meta_cover uses new lexicon.CoverBannedTerms() helper
(insurance/premium/claim/policy scoped to Cover surface, NOT project-wide);
x/cover/firewall pinned to allow-list of routing destinations (string-
equality check); optional x/pact insurance-like -> Cover-like doc-fix
- D-089: StillKeeper satisfied by simtest-local stub (x/still NOT extended
this milestone; x/still/keeper/ verified empty); x/bond -> x/cover
CoverKeeper reverse edge added to dependency map (MsgDebitMABProceeds
queries CoverKeeper.GetPoolReserveAccount; no import cycle, interface only)
- D-090: Bill of Rights temporal-gap fix (RightID + 13 Waivable* consts +
RightIsWaivable() + ValidateBasic gate land in P2, NOT P5 — closes the
P2->P5 window where rights were waivable); Voucher cold-start fix
(bond = max(10x avg, MinimumVoucherBond) — no zero-bond bypass); Standing-
gate dual check (floor enforced at BOTH launch handler AND Params-amendment
ValidateBasic); D-085 escalation window tightened to before P2
3 escalations to PO: D-085 (13th right identity, confidence 0.55),
lexicon banned-term scope (griller recommends Cover-scoped helper),
pen-test third party (this grill IS the self-administered review per
oy-state §7 item 4).
This grill IS the self-administered adversarial review (pen-test) per
oy-state §7 remaining-open item 4. High/critical findings (D-090(1)
temporal gap, D-088 lexicon paper tiger, D-090(2) Voucher cold-start)
are remediated in P0 via binding decisions D-086..D-090.
---ci---
project: oy
phase: 0
milestone: v0.7
status: grill
---/ci---
2026-08-19 01:42:08 +00:00
cloudinit-bot
08dc139b5c
docs(P00): plan — v0.7 vertical-slice phase plans (P1..P6)
...
PLAN stage for v0.7. Vertical-slice plans for 5 execution phases + 1 final:
- P1 Cover Pool Factory + firewall + floors + gates + tagging (v0.6.1)
REQ-046/047/049/050 — firewall-first, NEW x/cover module (D-039/D-084)
- P2 Cover-Charter + Pool governance + category staging (v0.6.2)
REQ-048/052/062/065 — extends x/cover + x/council
- P3 Guild Charter + Chapter Federation + Household/Confederation (v0.6.3)
REQ-051/053/057/058/061 — extends x/guild + x/stand
- P4 MAB + Cover Claims Voucher + Shadow vouch + MAB seniority (v0.6.4)
REQ-054/055/060/063 — extends x/bond + x/cover + x/standing
- P5 Anti-Capture Bill + secession cooling + Stand->Pier + Pier selection (v0.6.5)
REQ-056/059/064/066 — cross-cutting, lands last (constrains all prior)
- P6 final review/audit/ship (v0.6.6 = v0.7 milestone release)
MVP/UX CHECK sections embedded in PLANS.md:
- User-Facing Surface: simtest is the executable demonstration (no UI)
- Happy Path: 10-step end-to-end Cover Pool lifecycle (launch -> charter ->
elect -> route fee -> issue MAB -> release proceeds -> file call ->
secede -> Pier escalation -> dissolve)
- UX Acceptance Criteria: 11 criteria verified in P6 audit
Cross-phase dependency map + 11 locked-const additions table included.
D-085 escalation (13th right) flagged for lead-developer before P5.
---ci---
project: oy
phase: 0
milestone: v0.7
status: plan
---/ci---
2026-08-19 01:36:04 +00:00
cloudinit-bot
398609dabb
docs(P00): research — v0.7 fraternal groups + persona assessment
...
RESEARCH stage for v0.7. Delegated to ci-researcher subagent for 7-area
domain + codebase research. Key findings:
- x/cover module layout mirrors x/hub (D-039 precedent, D-084) — types/
keeper/module.go/expected_keepers.go/msg_server.go/simtest
- Cover-Fee category tagging in x/cover (CoverFeeTag struct), NOT x/bread
(no Grain struct today; avoids GrainsPerBread locked-const risk)
- Standing gate via expected-keeper shim (G-003; StandingKeeper interface)
- MAB as x/bond extension (anonymous embed, GrowthBond precedent);
CouponDenom enum with CouponDenomBread rejected at ValidateBasic
(MissionLockAmendmentRejected pattern)
- D-080 tagged streaming + Watcher-witnessed release; auto-Still on misuse
- Anti-Capture Bill = 13 RightID consts + 13 Waivable* bool consts (all
false) + RightIsWaivable always false (dual firewall)
- Anti-Crowding-Out firewall = x/cover/firewall + lexicon_meta_cover
meta-test (defense in depth; D-079)
- Guild extension: ParentGuildID + IsChapter + SecessionTermsHash +
GoodStandingLiens (no GuildKind enum; schema-additive)
- Shadow vouch 50% = ShadowVouchWeightMultiplier const + IsShadow field +
post-multiplier branch (const makes it locked-const firewall visible)
- Cover Claims Voucher in x/cover/types (NOT x/standing); slash via
x/standing.Slash cross-Pool
D-085 escalation candidate (13th Anti-Capture right): spec enumerates 12 of
13 rights. Best candidate (confidence 0.55): NonParticipationNoDenial
(REQ-085/FR-NORM-4). NOT auto-decided; lead-developer surfaces to PO
before P5.
Persona assessment: backend-engineer + lead-developer + security-engineer
+ cosmos-engineer active (highest security density since v0.5).
frontend-engineer + docs-writer + mesh-engineer + data-engineer
deactivated. ci-security-auditor off until P6.
ARCHITECTURE.md extended with v0.7 component index + cross-component
dependencies + 11 new locked-const additions (pending GRILL ratification).
RESEARCH.md extended with v0.7 section (10 design recommendations +
pitfalls). PERSONAS.md rewritten for v0.7.
---ci---
project: oy
phase: 0
milestone: v0.7
status: research
---/ci---
2026-08-19 01:33:22 +00:00
cloudinit-bot
f57c49f7ad
docs(P00): clarify — log D-074..D-084 (v0.7 scope + 8 PO recommendations)
...
CLARIFY stage for v0.7. All 8 oy-spec §8 open questions resolved by
accepting PO recommendations as binding (D-074..D-080) plus the 3
interactive scope-shaping rulings (D-081 scope, plus D-082 phase order,
D-083 no IDEATE, D-084 new x/cover module).
Key decisions:
- D-074: TBD-X = $100k annual Pass volume (REQ-059)
- D-075: TBD-Z density formula locked for v0.8 USZ (REQ-095)
- D-076: Sovereign Anchors = separate SPEC (experimental v0.7)
- D-077: Standing gate binds at Factory runtime (REQ-049)
- D-078: Watcher/Voucher cap = 5% Bloom annual (v0.8 REQ-096)
- D-079: Anti-Crowding-Out = x/cover/firewall + meta-test (defense in depth)
- D-080: MAB lock = tagged streaming + Watcher-witnessed release
- D-081: §7 authoritative — v0.7 = REQ-046..066 only; Cluster A-C = v0.8
- D-082: P1 firewall-first → P2 charter+council → P3 guild/chapter →
P4 MAB/voucher → P5 anti-capture/secession/pier → P6 final
- D-083: no IDEATE (no --ideate flag; scope pre-seeded from §7)
- D-084: new x/cover module (D-039 precedent; x/pact PactCover stays as
cross-reference)
REQUIREMENTS.md extended with v0.7 REQ-046..REQ-066 table + v0.8 deferred
REQ-067..REQ-097 traceability. PROJECT.md extended with v0.7 scope +
D-074..D-084 clarification decisions.
---ci---
project: oy
phase: 0
milestone: v0.7
status: clarify
---/ci---
2026-08-19 01:28:27 +00:00
cloudinit-bot
ea11991ec7
docs(P00): specify — regenerate oy-state v2 (v0.7 queued, REQ-046..097)
...
Regenerate oy-state per the regeneration rule (oy-spec changed since
state-v1). state-v2 reflects:
- v0.6 COMPLETE (tag v0.5.6, release_id 776) as last shipped
- v0.7 Fraternal Groups Foundation queued (REQ-046..REQ-066, 21 REQs)
- v0.8+ Risk Mitigations deferred (REQ-067..REQ-097, 31 REQs, D-081)
- §3 const firewall: v0.7 planned additions pending GRILL ratification
(CoverReserveFloorAnnualContribX=1.5, CoverStandingGateTrusted=4.0,
CoverStandingGatePreferred=4.5, MABIssuanceCeilingAnnualSurplusMultiple=3,
CoolingSecessionCoverActiveDays=21, CoolingSecessionNonCoverDays=14,
StandPierEscalationAnnualPassVolumeCents=10M, AntiCaptureBillOfRightsCount=13)
- §4 deferred: Sovereign Anchor SPEC, USZ runtime, Cluster A-E, Pier-Routed
Legal Wrapper (OPTIONAL), -W absolute cap
- §6 constraints: no-subsidies + Anchor no-Voice GREEN by construction
- §7: D-074..D-081 logged (all 8 PO recommendations accepted as binding)
---ci---
project: oy
phase: 0
milestone: v0.7
status: specify
---/ci---
2026-08-19 01:26:54 +00:00
cloudinit-bot
d10bf5eb24
docs(spec): v3 net-new-only — v0.7 fraternal groups + v0.8 risk mitigations
...
Ingest oy-spec v3 (net-new-only diff against spec-v2):
- 52 new REQs REQ-046..REQ-097 (v0.7 REQ-046..066, v0.8+ REQ-067..097)
- §5: 4 new constraints (no subsidies, Anchor no-Voice, Sovereign Anchors
separate SPEC, Pier-Routed Legal Wrapper OPTIONAL)
- §7: v0.7 Fraternal Groups Foundation + v0.8 Risk Mitigations plan
- §8: 8 open questions with PO recommendations
- Trimmed restated baseline/Principles/Lexicon/invariants (locked, in force)
Per PO ruling 2026-08-18. ciagent acknowledges; P0 will regenerate oy-state v2.
2026-08-19 01:25:19 +00:00
cloudinit-bot
2c0e953881
docs(P00): add oy-spec-template.md — blank skeleton for fresh milestone cycles
...
OY-specific template the PO copies to .ciagent/oy/oy-spec (no .md) when
starting a fresh milestone cycle. Pre-fills the locked baseline that does not
change between milestones (Six Principles §3, Constraints §5, Lexicon §6,
REQ-001..REQ-021 locked-vision rows in §4, Rules + Commit convention blocks).
Clears the per-milestone content the PO must fill (§1 Objective, §2 Vision
source locked-sections, §4 acceptance criteria, §4 new REQ-022+ rows, §7
Milestone intent, §8 Open questions, §9 Changelog).
Each placeholder is a <!-- TODO --> comment so the PO can grep for unfilled
slots. The header comment block explains what is pre-filled vs what the PO
fills, and points to oy-state §2 for the current max REQ-ID before adding new
rows.
Lives at .ciagent/oy/oy-spec-template.md (.md extension because it is a
reference file the PO reads in an editor, not ingested by the ciagent — the
working oy-spec / oy-state keep the bare-stem convention for ingestion).
---ci---
phase: 0
milestone: v0.6
status: execute
project: oy
---/ci---
2026-08-18 23:23:09 +00:00
cloudinit-bot
9e5e98f22e
docs(P00): introduce oy-spec + oy-state boundary docs (PO <-> ciagent)
...
Establishes the two-doc contract between the product owner and the ciagent:
- oy-spec (PO-authored, ciagent ingests): authoritative product input
- oy-state (ciagent-authored, PO ingests): current shipped state
Both live in .ciagent/oy/ with no .md extension (PO ingestion keys on the
bare stem oy-spec / oy-state). The 10 existing .ciagent/oy/*.md files remain
ciagent-internal working memory. PROJECT/REQUIREMENTS/ARCHITECTURE gain a
one-line header note pointing to oy-spec as the source and oy-state as the
shipped-state mirror.
oy-spec holds the schema the PO fills (Objective, Vision source, Principles
[locked], Requirements table with acceptance criteria, Constraints, Lexicon
[locked], Milestone intent, Open questions, Changelog) + the mandatory
docs(spec): Conventional Commit convention for spec edits.
oy-state is backfilled from shipped v0.6 state: 45-REQ coverage table, 24
locked constants, 18 deferred items, firewall status (G-003 GREEN, G-006
controlled exception cosmos-sdk v0.50.8, REQ-012 GREEN x3, Mission Lock
GREEN, coverage >=80% GREEN), and 5 open PO decisions for v0.7 scoping.
Closes the loop: PO reads oy-state -> edits oy-spec (docs(spec): commit) ->
ciagent regenerates PROJECT/REQUIREMENTS/ARCHITECTURE at next P0 -> flags
drift in oy-state §5. Prevents re-proposing shipped or explicitly-deferred
REQs.
---ci---
phase: 0
milestone: v0.6
status: execute
project: oy
---/ci---
2026-08-18 23:16:15 +00:00
cloudinit-bot
aa66e58f95
checkpoint(milestone): v0.6 complete — clear for next milestone
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
2026-08-18 19:08:40 +00:00
cloudinit-bot
715403a4e3
Merge milestone/v0.6-nomad-web-ui into main (v0.6 Nomad Web UI feature milestone release)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 6
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-043, REQ-044, REQ-045]
partial: []
---/ci---
v0.5.6
2026-08-18 19:07:58 +00:00
cloudinit-bot
f3d38b8a05
Merge phase/06 (final) into milestone/v0.6-nomad-web-ui (P6 complete → v0.5.6 milestone release)
2026-08-18 19:07:58 +00:00
cloudinit-bot
52e438d1b1
checkpoint(milestone): v0.6 complete → v0.5.6 (milestone release)
...
---ci---
project: oy
phase: 6
milestone: v0.6
status: complete
---/ci---
2026-08-18 19:07:58 +00:00
cloudinit-bot
d752215a5c
docs(P6): v0.6 final review + audit — PASS, feature purity gate GREEN
...
REVIEW: 8 probes GREEN (go run dep-free, 5 screens reachable, lexicon
firewall scans web/, Bread-scale matches code constants D-073, Standing
uses locked constants, Freeholder badge reflects IsFreeholderEligible,
Window lifecycle calls real methods, no banned terms in rendered pages).
AUDIT: reconstruction test passes; feature purity gate GREEN (no x/
module modified, locked-const firewall intact, G-003 app-layer, G-006
go.mod unchanged — G-028 diff against v0.5.0 EMPTY); coverage store
98.1% handlers 89.2%; all 3 lexicon firewalls green. REQUIREMENTS:
REQ-040..045 marked Complete. ROADMAP: v0.6 marked COMPLETE.
---ci---
project: oy
phase: 6
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-043, REQ-044, REQ-045]
partial: []
---/ci---
2026-08-18 19:07:48 +00:00
cloudinit-bot
30e35ea1c9
Merge phase/05 into milestone/v0.6-nomad-web-ui (P5 complete → v0.5.5)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 5
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-043, REQ-044, REQ-045]
---/ci---
v0.5.5
2026-08-18 19:06:22 +00:00
cloudinit-bot
ef80a8e1c2
checkpoint(p5): v0.6 phase 5 complete → v0.5.5
...
---ci---
project: oy
phase: 5
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-043, REQ-044, REQ-045]
---/ci---
2026-08-18 19:06:22 +00:00
cloudinit-bot
56db37a463
feat(P5): Bloom accrual view — per-Stash BloomRecord (REQ-044)
...
web/handlers/bloom.go: GET /bloom/{stashID} renders BloomRecord
(AccruedGrain, RateBasisPoints as %, LastAccrualBlock) + the 4.5%
target rate read from x/bloom/types.TargetBloomRateBasisPoints (D-073
code-constant source-of-truth, NOT hardcoded) + the 4.0%-5.0% band
(Min/MaxBloomRateBasisPoints) + Mission Lock note. Store extensions:
GetBloomRecord/ListBloomRecords. Seed: holder-alia at target rate (450
bps), holder-bryn at 420 bps (within band). bloom_test.go: D-073
target-rate source-of-truth regression guard (asserts TargetBloomRate-
BasisPoints=450, Min=400, Max=500 from code constants; would fail if
hardcoded), G-026 error lexicon check, highest-risk screen for banned-
term drift (uses "Bloom"/"real production"/"accrual" labels only).
Coverage: store 98.1%, handlers 89.2%.
---ci---
project: oy
phase: 5
milestone: v0.6
status: execute
---/ci---
2026-08-18 19:06:16 +00:00
cloudinit-bot
ff068f63bc
Merge phase/04 into milestone/v0.6-nomad-web-ui (P4 complete → v0.5.4)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 4
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-043, REQ-045]
---/ci---
v0.5.4
2026-08-18 19:02:52 +00:00
cloudinit-bot
89ec9a76db
checkpoint(p4): v0.6 phase 4 complete → v0.5.4
...
---ci---
project: oy
phase: 4
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-043, REQ-045]
---/ci---
2026-08-18 19:02:52 +00:00
cloudinit-bot
451ea08414
feat(P4): Standing + Freeholder signals progress (REQ-043)
...
web/handlers/standing.go: GET /standing/{reachID} renders standing score
+ bucket + 4-signal progress + Freeholder-eligible badge. Store extensions:
ListRatings/ListVouches/ListSlashes/ComputeStandingScore (simplified, from
locked x/standing/types constants PriorMean/PriorWeight/ComputeDiversityBonus/
GetVoucherWeight/GetStandingBucket — NOT hardcoded)/ComputeFreeholderSignals
(real FreeholderSignals struct + IsFreeholderEligible). Seed: holder-alia
(12 ratings, 4 cats, 1 Vouch, mature Stash -> eligible) vs holder-bryn
(3 ratings, 1 cat, no Vouch, immature -> not eligible). standing_test.go:
computed-from-locked-constants regression guard (PriorMean=4.0, PriorWeight=
10, DiversityBonus4Cats=0.10), Freeholder-eligible badge reflects
IsFreeholderEligible() (the real method), G-026 error lexicon check.
Coverage: store 98.0%, handlers 88.7%.
---ci---
project: oy
phase: 4
milestone: v0.6
status: execute
---/ci---
2026-08-18 19:02:44 +00:00
cloudinit-bot
50c84d0351
Merge phase/03 into milestone/v0.6-nomad-web-ui (P3 complete → v0.5.3)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 3
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-045]
---/ci---
v0.5.3
2026-08-18 18:58:32 +00:00
cloudinit-bot
5008f85da1
checkpoint(p3): v0.6 phase 3 complete → v0.5.3
...
---ci---
project: oy
phase: 3
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-042, REQ-045]
---/ci---
2026-08-18 18:58:32 +00:00
cloudinit-bot
79a3358810
feat(P3): Window authorization — open/lifecycle/audit log (REQ-042)
...
web/handlers/window.go: GET /window (list), GET /window/new (form),
POST /window (open), GET /window/{id} (detail+lifecycle+audit), POST
/window/{id}/activate|revoke|expire (lifecycle transitions). Store
extensions: OpenWindow/ActivateWindow/RevokeWindow/ExpireWindow/
ListWindows/GetWindow/GetAuditLog — all call the REAL x/window/types
Window.Activate/Revoke/Expire methods (not reimplementation). Revoke on
Expired is a no-op (v0.2 terminal-state contract). AuditEntry appended on
each transition. 3 Window templates. window_test.go: lifecycle
correctness (asserts real methods invoked), idempotent revoke, revoke-on-
expired no-op, G-026 error lexicon checks. Coverage: store 99.2%,
handlers 87.7%.
---ci---
project: oy
phase: 3
milestone: v0.6
status: execute
---/ci---
2026-08-18 18:58:25 +00:00
cloudinit-bot
edd285e5c0
Merge phase/02 into milestone/v0.6-nomad-web-ui (P2 complete → v0.5.2)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 2
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-045]
---/ci---
v0.5.2
2026-08-18 18:55:11 +00:00
cloudinit-bot
07053cc13a
checkpoint(p2): v0.6 phase 2 complete → v0.5.2
...
---ci---
project: oy
phase: 2
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-041, REQ-045]
partial: []
---/ci---
2026-08-18 18:55:07 +00:00
cloudinit-bot
973e25a7c9
feat(P2): Stash dashboard — Bread scale + maturity progress (REQ-041)
...
web/handlers/stash.go: GET /stash/{holderID} renders balance in Grain +
Bread-scale conversion (x/bread/types.BreadScaleAll() + GrainsPerBread=10000,
D-073 code constants NOT docs) + 90-day maturity progress bar (ActiveDays/90
capped at 100%) + IsMature badge. stash_test.go: D-073 regression guard
(GrainsPerBread=10000, Crumb=100 Grain; would fail if docs 1000x values used),
mature vs immature fixture, 404 + G-026 error lexicon check. Coverage 83.5%
cumulative. Template FuncMap divGrain for the scale table.
---ci---
project: oy
phase: 2
milestone: v0.6
status: execute
---/ci---
2026-08-18 18:55:03 +00:00
cloudinit-bot
741d6e0a96
Merge phase/01 into milestone/v0.6-nomad-web-ui (P1 complete → v0.5.1)
...
docs-build / go test ./... (lexicon firewall + all x/* tests) (push) Has been cancelled
docs-build / mkdocs build (docs site artifact) (push) Has been cancelled
---ci---
project: oy
phase: 1
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-045]
partial: []
---/ci---
v0.5.1
2026-08-18 18:52:59 +00:00
cloudinit-bot
eba12998b7
checkpoint(p1): v0.6 phase 1 complete → v0.5.1
...
---ci---
project: oy
phase: 1
milestone: v0.6
status: complete
requirements:
covered: [REQ-040, REQ-045]
partial: []
---/ci---
2026-08-18 18:52:53 +00:00
cloudinit-bot
27b565c965
docs(P1): README web UI quickstart + lexicon firewall v0.6 section
...
---ci---
project: oy
phase: 1
milestone: v0.6
status: execute
---/ci---
2026-08-18 18:52:39 +00:00