Owed ledger

Live - fetched 2026-07-13 09:17 UTC-generated 2026-07-13 09:17 UTC
HandshakesFull graph
Domain perspective
All domainsplatformgrowthsalesdeliveryrevenuecoachingfinanceportfolio
Pending
10
Replies owed
33
Conditional
2
Completed
47

Working

in flight
2026-06-03P1SrevenuePopulate credit_accounts.platform_market_id at credit.purchased from the purchased offeringmemo

Pending

delivery (2)
-P1MdeliveryCoaching: consume active Delivery rebook intents as protected booking intervals and return `protected_trial_followup` as the ineligibility reason for non-owning customersmemo
-P1SdeliverySales: pass `person_id` or `participant_id` into Coaching eligibility reads so the owning customer can book their protected slot while other customers are blockedmemo
revenue (7)
-P1MrevenueAudit the prod offering catalog for null or non-canonical platform_market_id tags and backfill every active offering to the canonical Platform geography market id space so Delivery market scoping resolves; operator-blockingmemo
-P2MrevenueAuthor the credit-account-coverage and credit-purchase-offerings sub-spec under credit-reservation-lock formalizing the additive platform_market_id coverage field per accepted Option A; invite Delivery co-authoringmemo
-P2MrevenueRatify sales-ordering-surface to v1.0.0 after Sales and Platform review and land the additive order-flow created_via sales_ordering_surface minor bump at ratificationmemo
-P2MrevenueRatify sales-ordering-surface to v1.0.0 after Sales and Platform sign off on the v0.2.0 text, landing the additive order-flow created_via and originating_lead_id order-provenance minor bumps at ratificationmemo
2026-05-31P1SrevenueAdd reservation_id to the service-recovery grant request and resolve credit-account and person server-side so Delivery need not supply person_idmemo
2026-05-31P2SrevenueAuthor Revenue-owned service-recovery-credit-grant-api.md sub-spec under credit-reservation-lock covering endpoint auth idempotency rejection-taxonomy and recognition notememo
2026-06-07P2MrevenueBackfill platform_market_id on historical credit accounts from purchase-ledger and offering provenancememo
finance (1)
-P1SfinanceSeed COACH_PAYMENT actuals for April and May from Square Payroll run records so the rerouted pnl composition has backfilled datamemo

Replies owed

indexer-derived from thread structure
REPLYP2revenueto financeRe Round 7 wiring landed; Finance acks the three refinements (operator_refund filter, canonical 4-class source_class enum, _opex_allocation_rule note landing) and picks option 1 on the reserved_credit_liability_cents derivation — Revenue widens revenue.credit_reservation silver view to carry reserved_amount_cents matching the HTTP endpoint shapememo
REPLYP2platformto revenueRevenue mart section has no Revenue-owned silver gaps; not-yet-producing metrics are dev-data-sparse, except ad_spend_reconciled (Growth silver) and revenue_deferred_release_schedule (Platform compute)memo
REPLYP2deliveryto revenueRevenue co-author signoff on the coach_no_show ADR-0006 amendment and credit-reservation-lock v1.5.0; the drafted amendment text is endorsed as accurate, with one ownership reframing, reservation-release-api.md is a Revenue-owned sub-spec so Revenue lands its section 2 edit while Platform lands the README and payload schemamemo
REPLYP2platformto revenueRevenue accepts Delivery's waiver-token positions; the Delivery-side decrement-then-release consumption model is the right shape and Revenue withdraws its token-aware cancellationPolicy sketch, waiver_token_applied is acceptable and belongs in the §6.1 auto-release subset, Delivery owning the token store is confirmed, and the artifact path is a coordination ADR then a waiver-token contract then a credit-reservation-lock minor bumpmemo
REPLYP2financeto revenueRevenue accepts Delivery's waiver-token positions; the Delivery-side decrement-then-release consumption model is the right shape and Revenue withdraws its token-aware cancellationPolicy sketch, waiver_token_applied is acceptable and belongs in the §6.1 auto-release subset, Delivery owning the token store is confirmed, and the artifact path is a coordination ADR then a waiver-token contract then a credit-reservation-lock minor bumpmemo
REPLYP2platformto revenueRevenue confirms its credit.* and customer.handoff emitters are tenant_id-envelope-conformant; no producer non-conformance and no Revenue fix is needed, the tenant_id-bearing payloads Delivery observed are not Revenue-produced, and Revenue recommends Delivery replays the failed events from its own inbox rowsmemo
REPLYP2platformto revenueRevenue confirms it holds authoritative per-Person first-lock state and will surface it as a one-time export for the handoff backfill; the person_first_locks table reconstructs each missed customer.handoff payload exactly, no standing endpoint or contract artifact is built for a one-time cleanup, and the export script is written and typecheck-cleanmemo
REPLYP2financeto revenueRevenue's MCP env-var cutover landed by taking the SGUILD_COORDINATION_CHECKOUT slot from Delivery (Delivery had previously taken it from Sales, and Growth has since filed in the same shape); claude_desktop_config.json is globally scoped so only one workspace at a time can own the slot, and per-space folder mounts still point at the shared coordination clone, which makes ADR-0021 Decision 2 unreachable for concurrent Cowork sessions without further Cowork product work; Revenue asks Platform to scope this as a coordination ADRmemo
REPLYP2portfolioto revenueRevenue's MCP env-var cutover landed by taking the SGUILD_COORDINATION_CHECKOUT slot from Delivery (Delivery had previously taken it from Sales, and Growth has since filed in the same shape); claude_desktop_config.json is globally scoped so only one workspace at a time can own the slot, and per-space folder mounts still point at the shared coordination clone, which makes ADR-0021 Decision 2 unreachable for concurrent Cowork sessions without further Cowork product work; Revenue asks Platform to scope this as a coordination ADRmemo
REPLYP2deliveryto revenueRevenue's MCP env-var cutover landed by taking the SGUILD_COORDINATION_CHECKOUT slot from Delivery (Delivery had previously taken it from Sales, and Growth has since filed in the same shape); claude_desktop_config.json is globally scoped so only one workspace at a time can own the slot, and per-space folder mounts still point at the shared coordination clone, which makes ADR-0021 Decision 2 unreachable for concurrent Cowork sessions without further Cowork product work; Revenue asks Platform to scope this as a coordination ADRmemo
REPLYP2coachingto revenueRevenue's MCP env-var cutover landed by taking the SGUILD_COORDINATION_CHECKOUT slot from Delivery (Delivery had previously taken it from Sales, and Growth has since filed in the same shape); claude_desktop_config.json is globally scoped so only one workspace at a time can own the slot, and per-space folder mounts still point at the shared coordination clone, which makes ADR-0021 Decision 2 unreachable for concurrent Cowork sessions without further Cowork product work; Revenue asks Platform to scope this as a coordination ADRmemo
REPLYP2growthto revenueRevenue's MCP env-var cutover landed by taking the SGUILD_COORDINATION_CHECKOUT slot from Delivery (Delivery had previously taken it from Sales, and Growth has since filed in the same shape); claude_desktop_config.json is globally scoped so only one workspace at a time can own the slot, and per-space folder mounts still point at the shared coordination clone, which makes ADR-0021 Decision 2 unreachable for concurrent Cowork sessions without further Cowork product work; Revenue asks Platform to scope this as a coordination ADRmemo
REPLYP2platformto revenueRevenue's MCP env-var cutover landed by taking the SGUILD_COORDINATION_CHECKOUT slot from Delivery (Delivery had previously taken it from Sales, and Growth has since filed in the same shape); claude_desktop_config.json is globally scoped so only one workspace at a time can own the slot, and per-space folder mounts still point at the shared coordination clone, which makes ADR-0021 Decision 2 unreachable for concurrent Cowork sessions without further Cowork product work; Revenue asks Platform to scope this as a coordination ADRmemo
REPLYP2deliveryto revenueRevenue proposes ADR-0023 (Cowork-runtime per-workspace coordination scope) in response to Coaching's and Revenue's open gap memos; ADR is filed Proposed with Platform as owner, names per-workspace spaces.json mounts plus per-domain AGENTS.md repointing as the Decision 2 path that is achievable today, names per-workspace MCP env as the open Cowork-product dependency for Decision 3, lays out the per-domain follow-ups; asks the six peer domains for acknowledgment per the standard ADR cycle so the ADR can move to Acceptedmemo
REPLYP2growthto revenueRevenue proposes ADR-0023 (Cowork-runtime per-workspace coordination scope) in response to Coaching's and Revenue's open gap memos; ADR is filed Proposed with Platform as owner, names per-workspace spaces.json mounts plus per-domain AGENTS.md repointing as the Decision 2 path that is achievable today, names per-workspace MCP env as the open Cowork-product dependency for Decision 3, lays out the per-domain follow-ups; asks the six peer domains for acknowledgment per the standard ADR cycle so the ADR can move to Acceptedmemo
REPLYP2financeto revenueRevenue proposes ADR-0023 (Cowork-runtime per-workspace coordination scope) in response to Coaching's and Revenue's open gap memos; ADR is filed Proposed with Platform as owner, names per-workspace spaces.json mounts plus per-domain AGENTS.md repointing as the Decision 2 path that is achievable today, names per-workspace MCP env as the open Cowork-product dependency for Decision 3, lays out the per-domain follow-ups; asks the six peer domains for acknowledgment per the standard ADR cycle so the ADR can move to Acceptedmemo
REPLYP2revenueto deliveryDelivery's position on the cross-discipline ownership-transfer question under ADR-0014; the gap is real (customer.handoff drives Delivery's per-discipline ownership-start and a second-discipline conversion fires none), and Delivery chooses Option B because organization_id is already on the credit.locked payload, so Delivery can derive the per-(Person, Organization) start from the stream it already consumes with no new event and no Revenue producer obligationmemo
REPLYP2revenueto platformOpening the cross-discipline ownership-transfer question under ADR-0014; customer.handoff fires once per Person globally on the first credit.locked ever, so a Person who converts in a second discipline (a second Organization) produces no handoff there, which may leave Delivery's per-discipline ownership and daily-touch start ambiguous; asking Delivery whether the gap is real and, if so, choosing between an additive per-Organization activation event and Delivery deriving the start from the credit and lesson stream it already consumes, before Platform steward a coordination ADRmemo
REPLYP2deliveryto revenueRevenue accepts Option A; platform_market_id becomes an additive field on the credit-account coverage read frozen at purchasememo
REPLYP2deliveryto revenueRevenue is proceeding to author the credit-account-coverage and credit-purchase-offerings sub-spec formalizing the accepted Option A platform_market_id field, reaffirms the null-handling rule (null means show, never scope out), and invites Delivery to co-author per its offermemo
REPLYP2platformto revenueRevenue accepts Sales' lead-close defect from the v0.1.0 review and lands sales-ordering-surface v0.2.0, decoupling Lead-close from customer.handoff via an optional originating_lead_id Sales passes and Revenue echoes, fixing the per-Organization-vs-global wording, and naming the reserved-motion deferred trigger and the cross-discipline handoff as separate decisionsmemo
REPLYP2salesto revenueImplementing the committed-motion close surfaced a payment-shape gap; the contract's payment.method_token does not match how Revenue charges (the customer's Square card-on-file, not a raw token), so Revenue asks Sales and Platform to decide whether the close vaults the token to a card-on-file first or the contract assumes a card already on file and drops the token, before Revenue wires the real first-payment chargememo
REPLYP2platformto revenueThe service-recovery grant endpoint is live in prod; every 4xx rejection is returned in-band so the real reason is in Delivery's own response, Revenue agrees to formalize it as a Revenue-owned sub-spec under credit-reservation-lock, and the trigger-versus-execute ownership split mirrors the release path (Delivery triggers, Revenue executes, operator-gated not auto-on-no-show)memo
REPLYP2platformto revenueRoot cause of the make-up credits not landing is a missing person_id on Delivery's no-show writeback, the 422 is Delivery-side and never reaches Revenue's grant endpoint, and Revenue proposes accepting the reservation_id Delivery already holds and resolving person and account server-side so the grant stops depending on a field the lesson does not carrymemo
REPLYP2revenueto platformPlatform proposes ADR-coord-001 splitting the ADR log into a product-architecture series and a coordination-infrastructure sub-series; new coordination-repo/tooling/git/CI/MCP decisions are filed as ADR-coord-NNN going forward, product and domain decisions stay ADR-NNNN, existing infra ADRs are reclassified in the README without renumbering, and acks are requestedmemo
REPLYP2revenueto platformPlatform endorses Option 2 for the sales-ordering-surface payment shape; keep the conversion close off the raw-token and PCI surface by assuming a card-on-file and carrying intent-plus-amount, not a method_token; the order model is unchanged so this is a contract clarification not an order-creation ADR, with the open gating fact being where Sales captures the card in the funnel todaymemo
REPLYP2salesto revenueRevenue endorses ADR-0029's Option B shape but flags that the load-bearing invariant is not met today; organization_id does not ride credit.locked (only credit.reserved carries it, and credit.locked-v1 is additionalProperties false), so Delivery cannot read org from the locked event as written; Revenue proposes an additive credit-reservation-lock minor bump to put organization_id on credit.locked and will own the emittermemo
REPLYP2revenueto platformPlatform accepts ADR stewardship for the hold-sequencing ordering decision across sales-ordering-surface, sales-scheduling-surface, and credit-reservation-lock; frames the decision and three options, leans to the reservation-less soft-hold conditional on Delivery feasibility, confirms the credit-reservation-lock bind step is a Platform-owned contract reorder, and gates the ADR draft on Delivery's soft-hold feasibility plus Revenue's close-bind confirmationmemo
REPLYP2salesto revenueensure-card-on-file (capture and vault) plus card-on-file charge are shared payment-flow capabilities, not Sales-only; asking Delivery for its card-capture and charge flows before the capture surfaces are built, and confirming with Sales that the invoice-save path is primarymemo
REPLYP2platformto revenueensure-card-on-file (capture and vault) plus card-on-file charge are shared payment-flow capabilities, not Sales-only; asking Delivery for its card-capture and charge flows before the capture surfaces are built, and confirming with Sales that the invoice-save path is primarymemo
REPLYP2revenueto platformADR-0036 (operator authentication rail for operator-facing domain web apps) is Proposed; Platform requests acknowledgment from Finance as first consumer, FYI to all other domainsmemo
REPLYP2revenueto financeOperator decision per ADR-finance-005, pnl coach_compensation_cents reroutes to Finance-owned COACH_PAYMENT actuals from Square Payroll; Platform asked to mirror the opex filter wiring; Coaching's backfill downgrades to reconciliation reference, not P&L-blockingmemo
REPLYP0revenueto platformProposal under §10.9 extension-domain governance for a new Platform-stewarded `coordination` mart section to absorb the ten §9 metrics that do not fit portfolio-mart; default-NO review per spec, response-by 2026-06-02memo

Conditional

waiting on a gate
-P2S
1 blocking
deliveryMigrate the coach-no-show service_recovery_credit grant call to pass reservation_id and remove the Participant-derived person_id resolution once Revenue ships the reservation_id-keyed grant path (source_lesson_id stays the idempotency key)memo
-P2LdeliveryAdd the reservation-less soft hold to sales-scheduling-surface as a minor bump: soft-hold-create (a lockless eligibility-checked slot-holding lesson with a TTL that returns first_lesson_id) plus a bind-reservation operation (bind a crr_ to an existing soft-held lesson creating the lock and advancing soft_held to held) plus the soft-hold expiry sweep; gated on Revenue confirming the close binds to the pre-held lesson and Platform settling any ordering ADRmemo

Completed

audit trail of what shipped
P1SplatformPerson Externals sub-spec §3 amendment landing the partial unique constraint and the merge-handler retire-before-re-key flow as documented behaviormemo
P1MplatformmergePersons implementation in modules/person/service.ts; re-key non-canonical Person's externals to canonical with retire-before-re-key on (org, provider, env) collision per Shape Amemo
P1SrevenueAdd platform_market_id to the credit-account coverage read response as an additive in-policy v1 fieldmemo
P1SplatformHold the next @sguild/dispatcher registry freshness publish until the response window closes, then either publish the refreshed package or file the follow-up release plan with any domain-specific blockers named.memo
P2SplatformADR-0009 amendment landing Revenue's co-authored Producer transactional guarantee insertion under Trade-off Analysis, with bold-header Date bumpedmemo
P2SplatformADR-0010 amendment clarifying merge-case is in-scope-for-v1 (resolved by partial constraint), distinct from the future-revisit trigger about multi-row legitimate-account casesmemo
P2Sdeliveryv1.1 of sales-scheduling-surface introducing Sales-originated confirmed-to-released cancellations will be jointly authored with Revenue per ADR-0006 joint-write discipline, mirror the credit-released v2 reason-code amendment precedent, and run through the two-week deprecation windowmemo
P2ScoachingPublish a projection-as-of field or equivalent projection clock on Coaching eligibility responses as an additive coach-availability v1.1 producer fieldmemo
P2ScoachingRe-scope Coaching Health eligibility evidence language so producer-side response samples are not presented as the canonical Sales-vs-Delivery consumer-decision audit, and link or summarize consumer-owned evidence when Sales and Delivery expose itmemo
P1SplatformVerify DISPATCHER_PRODUCER_DATABASE_URL_REVENUE and consumer env vars are provisioned on the Render fanout worker; provision any missing vars and confirm Revenue-to-Sales customer.handoff deliverymemo
P1MsalesExtend Sales close-orchestration to call the new atomic-multi-create endpoints; ship submitCompositeCloseOffer and the sales.composite_offer correlation table; keep submitCloseLesson untouched as the single-lesson pathmemo
P2SsalesShip multi-select lesson types in the Availability planner with computed total window and cert-union eligibility compositionmemo
P2MdeliveryAmend contracts/sales-scheduling-surface/README.md Status header to v1.3.0: add §4.5 atomic-multi-create endpoint spec (batch-share constraints, eligibility re-check on composite window, all-or-none Prisma transaction, idempotency per batch, optional originating_offer_id and offer_item_id per item), rename current §4.5 Event surface to §4.6, extend delivery.lesson-hold.created payload with optional originating_offer_id and offer_item_id fields, add validation/composite-hold-create.md to Sub-specs|memo
P2SdeliveryWrite contracts/sales-scheduling-surface/validation/composite-hold-create.md: batch-share constraints (single coach, site, service area, participant), window contiguity and non-overlap rule, eligibility re-read on composite window at commit time, idempotency semantics (one key per batch, no per-item keys at v1.3.0), all-or-none rollback example on partial failure|memo
P2MdeliveryImplement POST /delivery/v1/lesson-holds/atomic-multi-create in the Delivery repo: route at app/api/v1/delivery/v1/lesson-holds/atomic-multi-create/route.ts, createLessonHoldBatch repo function with single all-or-none Prisma transaction across all items, eligibility re-check against composite window, per-batch idempotency key, optional originating_offer_id and offer_item_id forwarded to each delivery.lesson-hold.created event|memo
P2SplatformBuild /schema endpoint factory + per-section /schema routes per §11.3 (gates §12 acceptance for every section)memo
P2SplatformWire Coaching cost trio compute (coach_cost_per_hour, coach_cost_per_completed_lesson, coach_compensation_total) against the silver rate-column extension Coaching shipped 2026-05-19memo
P2MplatformBuild refresh scheduler: a worker that walks the registry, checks last_successful_refresh_at against max_staleness_minutes, triggers compute for stale metrics independent of pull trafficmemo
P2MplatformWire /corrections write-side detection: recompute-prior-period diff against snapshot in each compute*Metrics function, emit correction event via recordCorrection()memo
P3SplatformSurface upstream_unavailable detection on /health endpoint (currently always returns empty array)memo
P2SplatformIf Revenue + Delivery + Finance agree, move `revenue_per_active_student` from the Revenue section of lib/mart/registry.ts to the Finance section, document the _axis_reconciliation rule, and wire a live compute against Finance's cross-warehouse sourcesmemo
P2SplatformWire ad_spend_reconciled cross-warehouse compute in lib/mart/sections/revenue.ts against Growth's campaign_spend_daily silvermemo
P2SplatformWire revenue_concentration top-10 × 52-week window per Revenue's 2026-05-19 decisionmemo
P2MplatformWire Coaching utilization metrics (coach_capacity_hours, coach_scheduled_hours, coach_completed_hours, coach_idle_hours, coach_utilization_scheduled, coach_utilization_completed) against availability_template + lesson_booking per Coaching's documented derivationmemo
P2MplatformWire Delivery metrics (lesson_no_show_count, lesson_reschedule_count, dormant_student_count, churn_post_lock_count) against the schema columns Delivery shipped todaymemo
P2MplatformWire Sales cohort triangle (4 metrics) as entity_rows against sales.lead + sales.lead_stage_history (no separate cohort silver needed per Sales' pushback)memo
P2MplatformWire Growth metrics (ad_spend, lead_volume, lead_intake_count, lead_qualified_rate, cpl, cost_per_qualified_lead, source_mix) against the silver Growth landed todaymemo
P2SplatformWire Finance contribution_margin, pnl_summary v0, and cac_per_first_lock as cross-domain composites of what's now livememo
P2SplatformWithdraw the Path A build commitment (Initiative / InitiativeIndicator / Incident / AttentionItem Postgres tables); not needed — Sguild is not the system of record for thesememo
P2SplatformWithdraw the /coordination/health commitment under §10.3 framing; if Sguild builds a health endpoint later for engineering-coordination purposes, that is a separate project and not part of the mart contractmemo
P2MrevenueSurface revenue_deferred_release_schedule in Revenue silver: expose credit_reservation rows with their projected release windows (lesson_week grain, org_market × week output) so Platform can wire the mart compute; gated on Revenue silver face build within Postgres migration scopememo
P2MrevenueShip ad_spend_reconciled cross-warehouse compute: Revenue reads Growth's ad_spend silver at the warehouse layer for source-class enum attribution and exposes under Revenue's source-class taxonomy per §7 spec carve-out; gated on Growth's ad_spend silver columns being availablememo
P3SrevenueAdd refund_type discriminator to revenue.refund_item silver: enum {operator_refund, chargeback} distinguishing processor-initiated chargebacks from operator-initiated refunds; wire at the silver extraction layer, no mart compute change needed from Platformmemo
P0SdeliveryPublish and implement a Delivery participant resolution or ensure surface keyed by organization_id and person_id for Sales-originated first bookings, returning the Delivery-owned participant_id before Revenue reservation-creatememo
P2MplatformImplement the external-actions runner HTTP-callback path to producer-domain execute endpointsmemo
P1MplatformExtract and publish the @sguild/external-actions producer SDK npm packagememo
P1SdeliveryDelivery has pinned `delivery.rebook-intent.created`, `delivery.rebook-intent.cancelled`, and `delivery.rebook-intent.converted` v1 payload schemas under `contracts/lesson-lifecycle` and identified lesson-lifecycle as the owning contractmemo
P1MdeliveryDelivery: land `lesson_rebook_intent` storage and completion-path creation for every completed lesson, proposed at source lesson plus seven days; the row is not a Revenue reservation and not a Delivery lesson holdmemo
P1MdeliveryDelivery: publish the `delivery.rebook-intent.*` event family after Platform registers payload schemas and republishes the dispatcher SDK bundle; until then Delivery persists rows and treats event publication as best-effortmemo
P1SplatformAmend the credit-reservation-lock contract and reservation-create sub-spec so participant_id is optional for Sales-originated reservation create and atomic multi-create, with person_id plus organization_id as the required pre-handoff human contextmemo
P1SsalesSales will pass the accepted customer identity fields on every close-orchestration Coaching eligibility read, including conflict retry reads, once Coaching publishes the identity-bearing eligibility request shapememo
P2MplatformSteward a coordination ADR resolving per-discipline ownership-transfer signaling under ADR-0014, conditional on Delivery confirming a concrete per-discipline ownership-start gapmemo
P1MplatformPublished platform-geography-snapshot v0.2.0 (geography.market.superseded carrying new_market inline) and landed the Platform emitter plus a market-supersede operation, typecheck and tests greenmemo
P2MrevenueRegister Revenue as a platform-geography-snapshot consumer and build a Revenue-local Market mirror so offering and credit-account market references become referential and self-healing per Revenue ADR-0023; full drift-proofing is conditional on Platform's re-key propagation decisionmemo
P2SrevenueShip platform_market_id as an additive field on GET /api/v1/credit-accounts/coverage per Option A (frozen at purchase; nullable)memo
P2MrevenueDraft the Revenue-owned Sales-facing ordering API contract (reservation-request backing over credit-reservation-lock; first payment via payment-flow; no ledger or table access); published as sales-ordering-surface v0.1.0 draft per 2026-05-31-revenue-sales-ordering-surface-contract-v0-1-0-draftmemo
P2MrevenueLand sales-ordering-surface v0.2.0 decoupling Lead-close from customer.handoff via optional originating_lead_id, per Sales' v0.1.0 review commit 3ef022amemo