Goal
Закрыть Wave 2 — последний chunk after 7 завершённых. Кодифицировать 5 архитектурных решений как ADR файлы (две Full spec из ratified Foundational, один Skeleton с structural anchor + open numbers, два Shell для pending tech estimate), добавить v3 ревизию к 0005 (Microsoft + Custom SSO scope для Tier 3 Stage 2), почистить ~15 stale «pending ADR» pointer'ов в плане. После Chunk 8 — переход на 4 sub-plan ratifications (permission-and-tenancy-model / onboarding-trial-mode / legal-multi-party-framework / buyer-profile-and-presentation).
Success Criteria
См. frontmatter success_criteria. Дублируем для clarity:
Plan ratified когда: (a) созданы 5 ADR файлов (0008 Skeleton + 0009 Full + 0010 Full + 0011 Shell + 0012 Shell) с per-ADR depth pattern из Locked Decision L2; (b) revised 0005 с v3 секцией (Microsoft + Custom SSO scope как Stage 2 Tier 3 features); (c)
launch-plan-stage-1.htmlимеет 3 broken-pointer fixes на 0005 + ~12-15 «pending» callouts/task-deps → live links на новые ADRs; (d)launch-plan-changelog.htmlполучает v4.14 entry; (e) preview repo синкнут + push; (f)workstreams/stage1-roman-integration.mdобновлён: Wave 2 closed → 4 sub-plan ratifications next.Без: правок в sub-plan stub файлах; правок Foundational/Phase deferral text content (только link targets обновляются); final pricing numbers в 0008 (defers to sub-plan).
Locked Decisions (CONV-31 interview)
| # | Тема | Решение |
|---|---|---|
| L1 | Scope для 0005 update | Variant B — Microsoft + Custom SSO scope для Tier 3 Stage 2. Старая формулировка «Google + email/password» уже сделана 2026-05-07 (CONV-17 revision). Реальный pending update per line 753 plan'а = добавить Microsoft (Azure AD) + Custom SSO (SAML/OIDC через Okta/Entra ID) как Tier 3 Enterprise features в Stage 2. |
| L2 | Per-ADR depth pattern | Per-ADR judgment на основе «насколько decision уже ratified в Foundational/Phase»: 0008 = Skeleton (~50 строк, 4-tier структура зафиксирована, numbers/naming defer to sub-plan); 0009 = Full spec (~80-100 строк, ratified Foundational §1+§2+§4 консолидируется); 0010 = Full spec (~60-70 строк, Closed pool default + S·1 ratified в §4.4+§4.5); 0011 = Shell (~30 строк, decision не сформировано); 0012 = Shell (~30 строк, pending Илья tech estimate). |
| L3 | ADR 0012 scope | Variant (i) — narrow scope (только Buyer Remote Presentation). Use-case B (unit status sync между SAs) НЕ включается в 0012; resolve в Phase 1.10 implementation как simple polling, без отдельного ADR. Phase 1.11.6-8 риски Stage-2 deferral — поэтому over-investment в общую Real-time Platform не оправдан. |
| L4 | ADR 0012 content depth | 4 архитектуры расписаны для discussion с Ильёй + командой: Polling / SSE / WebSocket / Managed (Pusher/Ably/Supabase Realtime). Trade-off table: build simplicity / ops cost / latency / pricing. Decision criteria: latency budget, ops complexity, scale. Ratified architecture pending — это shell, не Skeleton. |
| L5 | 0005 revision mechanism | In-place revision в существующем файле docs/decisions/0005-sso-google-only.md. Add «Revision 2 (2026-05-09, CONV-31)» note секцию перед Context, update revised: field, extend «Decision» с Stage 2 Tier 3 SSO scope subsection, добавить Microsoft/Custom SSO в Alternatives Considered как resolved-now (vs resolved-later). НЕ создавать новый ADR; не override старую revision note (preserve history). |
| L6 | Plan callout cleanup scope | 3 типа правок: Type A (3 broken pointers на 0005 — lines 753 / 1388 / 1531 + 2 changelog entries) → формулировка «0005 v3 (Microsoft + Custom SSO scope для Tier 3)»; Type B (~12-15 pending pointer/task-deps → live links на новые ADR файлы) — найти grep'ом все <a href="../decisions/"> placeholder ссылки + текстовые «ADR 0008 (pending)» pointer'ы и обновить; Type C (deferral text content) — НЕ трогаем, только link targets. |
| L7 | Approach (sequencing + commit granularity) | Approach B — Draft-all + single ratification. Все 5 ADRs + 0005 v3 пишутся в один заход с internal cross-references; user ratify полным batch'ем; 3 commits: (1) ADRs batch, (2) plan callout cleanup, (3) changelog + preview sync + workstream update. 1 ratification touch-point. |
| L8 | Order of writing (внутри batch) | 0009 → 0010 → 0008 → 0005 v3 → 0011 → 0012 — dependency order: 0009 (entities, scoping) — anchor for everything; 0010 (stock) — refs 0009 entities; 0008 (tier) — refs 0009 Org type; 0005 v3 (Tier 3 SSO) — refs 0008 tier scoping; 0011 (email shell) — refs 0008 Tier 2 DKIM; 0012 (real-time shell) — standalone. Cross-refs ratified atomically в одном batch'е. |
| L9 | Workstream структура | No new workstream file — Chunk 8 расширяет existing workstreams/stage1-roman-integration.md (parent). Pattern matches Chunk 7 + Chunk 7.5: per-chunk plan file, shared parent workstream. После Chunk 8 — Wave 2 closed, parent workstream pivot'ит What's Next на 4 sub-plan ratifications. |
| L10 | Stale Learnings handling | Не fix'им в Chunk 8 — фиксируем в Risks. Two Learnings stale: L «S·1 (Shared default + Single)» (CONV-16) — captured pre-CONV-18 «Closed pool default» reshape; L «Multi-level access: 5-tier model» (CONV-7) — superseded by Org-based RBAC. ADRs используют ratified version (Closed default + Org-based); stale Learnings будут обновлены в /handoff learning entry после Chunk 8 ratification. |
| L11 | Step 4.4 (Business review) | Skip — pure plan-document refactor (ADR consolidation of already-ratified decisions). Underlying decisions прошли prior ratification cycles (Foundational §1-§5, Phase 1.3-1.11 deep rewrites в Chunks 4-7). Chunk 8 не вводит новых user-facing changes — кодифицирует existing decisions. Business surface уже review'нут при оригинальной ratification. |
| L12 | Step 4.5 (Ratification sweep) | Run — query Notion Learnings DB по новым keywords (DKIM / SAML / OIDC / Pusher / WebSocket / Postmark / SES / Closed pool) до finalisation. Если новые relevant Learnings surface — добавить в Risks → From Learnings DB. |
Approach
Approach B — Draft-all + single ratification. Из 3 предложенных в Step 3:
- A (Sequential per-ADR ratification) — слишком медленно (3-4ч), 6 ratification cycles, 12+ commits, risk mid-session interruption
- B ✓ — single ratification touch-point, 3 atomic commits, internal cross-refs landed atomically; high content confidence justifies risk «cascade rewrites»
- C (Mixed paired) — артификальная pair coupling (0008 + 0005 v3 не связаны логически)
Diff scope:
- 5 new files в
docs/decisions/(~250 строк всего) - 1 in-place revision к
0005-sso-google-only.md(~30 строк добавляется) - ~12-15 callout/task-deps правок в
launch-plan-stage-1.html(~50 lines diff) - ~5-7 changelog правок в
launch-plan-changelog.html(~30 lines diff) - 1 workstream update + preview sync + git push
Implementation Steps
Stage A — Draft 5 ADRs + 0005 v3 (single commit)
A1. Write docs/decisions/0009-tenancy-permission.md (Full spec, ~80-100 строк).
- Content: Entity model (Client / Organisation / Buyer split, Foundational §1) + 5 Partner roles (Foundational §2 + CONV-22 Manager merged role) + Hybrid login surfaces + Auth-scoped views (CONV-21) + Scoped URL routing + Cross-entity invitations (Forward + Reverse) + Internal/External SA distinction (CONV-24) + Referral architecture data model.
- Sections: Frontmatter (id 0009, accepted, 2026-05-09), Context, Decision (subsections per architectural concern), Alternatives Considered (monolithic tenancy / shared-org / pure RBAC vs ABAC — почему отвергли), Consequences (Phase 1.3.1-1.3.12 могут стартовать; sub-plan
permission-and-tenancy-model.mdдля tech-level), Revisit trigger.
A2. Write docs/decisions/0010-stock-allocation.md (Full spec, ~60-70 строк).
- Content: Closed pool default + per-project Open mode toggle (Foundational §4.4) + S·1 (Subset-1) visibility — assigned units only (§4.5) + Internal SA / External SA distinction + Locking strategy (pessimistic on reserve action) + 3 sub-rules from CONV-16 Learning (Owner/Admin/Manager always sees all; Editor sees all regardless; never auto-revert to shared on target removal).
- Sections: Frontmatter (id 0010, accepted, 2026-05-09), Context, Decision, Alternatives Considered (open-by-default / per-unit ACL / no allocation), Consequences (Phase 1.3 RBAC implementation + Phase 1.10 Sales App filter + Phase 1.4 conflict reconciliation), Cross-reference: ADR 0009 для entity model, sub-plan
permission-and-tenancy-model.mdдля DB schema.
A3. Write docs/decisions/0008-tier-model.md (Skeleton, ~50 строк).
- Content: 4-tier structure (Free Guest / Tier 1 / Tier 2 / Tier 3 Enterprise) + qualitative shape per tier (Foundational §3) + Trial coupling (T1 only, 14d, no card per ADR 0001) + Admin mode coupling (Quick Build mode = Free Guest + Trial; Full Admin = paid tiers per CONV-21 Atelier rework).
- Sections: Frontmatter (id 0008, accepted-structure-pending-numbers, 2026-05-09), Context, Decision (4-tier structure + admin mode coupling — ratified anchor), Open Questions (pricing / exact limits / naming finalisation T1-T3 vs Starter-Studio-Agency-Enterprise / Free Guest expiry / conversion triggers), Consequences (Phase 1.7.11 Free tier billing + Phase 1.2 admin mode), Cross-reference: sub-plan
onboarding-trial-mode.mdratification — ratified pricing/limits будут жить там.
A4. Edit docs/decisions/0005-sso-google-only.md — add v3 revision.
- Update frontmatter:
revised: 2026-05-09(replace old date). - Add «Revision 3 (2026-05-09, CONV-31)» note сверху (preserve original CONV-17 revision note ниже как Revision 2).
- New Decision subsection: «Stage 2 Tier 3 SSO methods» — Microsoft (Azure AD/Entra ID) OAuth2/OIDC + Custom SSO (SAML 2.0 / OIDC через Okta / Entra ID / generic IdP).
- Update Alternatives Considered: re-classify Microsoft + Custom SSO as «accepted for Stage 2 Tier 3» (вместо текущего «rejected/deferred»).
- Update Consequences: Tier 3 Enterprise gate on Microsoft+Custom SSO; Stage 1 scope (Google + email/password) unchanged.
A5. Write docs/decisions/0011-email-sender.md (Shell, ~30 строк).
- Content: Context (deliverability + buyer trust + Tier 2 white-label promise) + Open Questions (single-domain vs per-org; multiple custom domains per Org; provider choice SendGrid/Postmark/SES/Resend; domain reputation warm-up) + 4 viable architectures с trade-offs (single-domain offplanonline.com / per-Org DKIM self-hosted / hybrid: own subdomain default + Tier 2 custom domain / Resend white-label sender-domain delegation — recommended in CONV-20) + Decision criteria (deliverability rep, ops complexity, white-label fidelity, Tier 2 value prop, vendor lock-in) + Cross-reference Phase 1.7.10 + Phase 1.8.6/1.8.8.
- Sections: Frontmatter (id 0011, status: shell-pending-architecture, 2026-05-09), Context, Open Questions, Architectures Considered (4 variants), Decision Criteria, «Resolves at» (Phase 1.8 Email infra ratification + provider research).
A6. Write docs/decisions/0012-realtime-sync.md (Shell, ~30 строк).
- Content: Context (Buyer Remote Presentation Phase 1.11.6-8, narrow scope per L3) + Open Questions (architecture, Stage 1 vs Stage 2 timing) + 4 architectures detailed для Илья + команды: Polling (REST endpoint, simplest, 2-5s latency) / SSE (server-only push, simple, sub-second) / WebSocket (self-hosted, bi-directional, < 200ms) / Managed (Pusher/Ably/Supabase Realtime, fastest ship, $50-200/mo) + Decision criteria (latency budget, ops cost, scale concurrent presentations, build vs buy) + Cross-reference: «Pending Илья tech estimate + buyer-profile sub-plan ratification».
- Sections: Frontmatter (id 0012, status: shell-pending-tech-estimate, 2026-05-09), Context, Open Questions, Architectures Considered (4 variants с trade-off table), Decision Criteria, «Resolves at» (Илья estimate + sub-plan).
A7. Present batch (6 files) для user review per Approach B. Wait for ratification.
A8. Stage commit on ratification:
git add docs/decisions/0008-*.md docs/decisions/0009-*.md docs/decisions/0010-*.md docs/decisions/0011-*.md docs/decisions/0012-*.md docs/decisions/0005-sso-google-only.md
git commit -m "decisions: 5 new ADRs (0008-0012) + 0005 v3 (Microsoft + Custom SSO scope) — Wave 2 Chunk 8 ADR layer"
Stage B — Plan callout cleanup (single commit)
B1. Type A fixes (3 broken pointers на 0005 в launch-plan-stage-1.html):
- Line 753 (Foundational §2 SSO callout) — обновить «См. ADR 0005 (вторая ревизия pending — Microsoft + Custom SSO scope)» → live link на 0005 v3 (revision is no longer pending).
- Line 1388 (Phase 1.2 callout) — «ADR 0005 update (Google-only → Google + email/password)» → «ADR 0005 v3 (Microsoft + Custom SSO scope для Tier 3)».
- Line 1531 (Phase 1.3 callout) — то же изменение.
B2. Type B fixes (~12-15 pending pointer/task-deps → live links). Sweep grep'ом всех <a href="../decisions/"> placeholder + «(pending)» / «pending Chunk 8» / «Will be written в Chunk 8» строк, обновить:
- Line 793 + 807 — ADR 0008 pointer →
../decisions/0008-tier-model.md - Line 825 — ADR 0009 cross-link →
0009-tenancy-permission.md - Line 1538 — task-deps 1.3.1 на ADR 0009 → live link
- Line 1574 — Phase 1.3.5 «Зафиксировать в ADR 0009» → live link
- Line 1648 — task-deps 1.3.10 на ADR 0009 → live link
- Line 2323 — Phase 1.7.5 «Финальная цена → ADR 0008» → live link
- Line 2510 — Phase 1.7.10 ADR 0011 «placeholder, write в Chunk 8» → status update + live link
- Line 2515 — task-deps 1.7.10 ADR 0011 → live link
- Line 2521-2537 — Phase 1.7.11 (Free tier billing) ADR 0008 «awaiting» → status update + live link
- Line 2776 — task-deps 1.7.13 ADR 0008 → live link
- Line 3290 — Phase 1.11 callout ADR 0012 → live link
- Line 3345 — task-deps 1.11.6 ADR 0012 → live link
- Line 3351 — Phase 1.11.7 «выбирается в ADR 0012» → live link
- Line 3352 — task-deps 1.11.7 ADR 0012 → live link
- Line 3394 — Phase appendix ADR 0008 → live link
B3. Verify через grep что никакие <a href="../decisions/"> пустые ссылки не остались + текстовые «ADR 000X (pending)» / «Will be written в Chunk 8» паттерны зачищены.
B4. Stage commit:
git add docs/rendered/launch-plan-stage-1.html
git commit -m "docs: Phase callout pointer fixes — 0005 v3 + ~15 live links to new ADRs (Wave 2 Chunk 8 cleanup)"
Stage C — Changelog + preview sync + workstream update (final commit)
C1. Add v4.14 entry в docs/rendered/launch-plan-changelog.html с full breakdown:
- 5 new ADRs created (0008 Skeleton / 0009 Full / 0010 Full / 0011 Shell / 0012 Shell)
- 0005 v3 revision (Microsoft + Custom SSO scope для Tier 3 Stage 2)
- ~15 plan callout pointer fixes (Type A + Type B)
- Wave 2 status: 8/8 chunks closed (Chunks 1-7 + 7.5 + 8)
- Next: 4 sub-plan ratifications (permission-and-tenancy / onboarding-trial / legal-multi-party / buyer-profile-and-presentation)
C2. Update changelog lines 334 + 434:
- Line 334 — формулировку «0005 v3 update — Chunk 8 candidates» → переместить в historical entry (Chunk 8 done).
- Line 434 — Wave 2 chunks list обновить (Chunk 8 → done).
C3. Sync to preview repo:
cp docs/rendered/launch-plan-stage-1.html ~/code/offplan-online/preview/plan/launch-plan-stage-1.html
cp docs/rendered/launch-plan-changelog.html ~/code/offplan-online/preview/plan/launch-plan-changelog.html
cd ~/code/offplan-online/preview && git add plan/ && git commit -m "sync: Wave 2 Chunk 8 closed — 5 ADRs + 0005 v3 + plan cleanup" && git push
cd ~/code/offplan-online/os
C4. Update workstreams/stage1-roman-integration.md:
- Add Session Log entry CONV-31 — Chunk 8 ADR placeholders closed (3 commits, 5 ADRs, 1 revision, ~15 callout fixes).
- Update What's Next — Wave 2 closed (8/8 chunks); Next: 4 sub-plan ratifications в priority order: permission-and-tenancy-model (P0) → onboarding-trial-mode (P0) → legal-multi-party-framework (P1) → buyer-profile-and-presentation (P1).
- Update
last_session: CONV-31.
C5. Stage commit:
git add docs/rendered/launch-plan-changelog.html workstreams/stage1-roman-integration.md plans/stage1-chunk-8-adr-placeholders.md
git commit -m "handoff: Wave 2 Chunk 8 closed — changelog v4.14 + workstream pivot to 4 sub-plan ratifications"
git push origin main
Files to Create/Modify
| File | Type | Change |
|---|---|---|
docs/decisions/0008-tier-model.md |
NEW | Skeleton ~50 строк (4-tier + admin mode coupling, numbers/naming defer) |
docs/decisions/0009-tenancy-permission.md |
NEW | Full spec ~80-100 строк (entity model + 5 roles + auth-scoped views + cross-entity invitations) |
docs/decisions/0010-stock-allocation.md |
NEW | Full spec ~60-70 строк (Closed pool default + S·1 + locking + 3 sub-rules) |
docs/decisions/0011-email-sender.md |
NEW | Shell ~30 строк (3 architectures + criteria, pending Phase 1.8) |
docs/decisions/0012-realtime-sync.md |
NEW | Shell ~30 строк (4 architectures detailed + criteria, pending Илья estimate) |
docs/decisions/0005-sso-google-only.md |
EDIT | Add «Revision 3 (2026-05-09)» — Microsoft + Custom SSO Stage 2 Tier 3 scope |
docs/rendered/launch-plan-stage-1.html |
EDIT | Type A: 3 broken-pointer fixes на 0005; Type B: ~12-15 pending → live links на новые ADRs |
docs/rendered/launch-plan-changelog.html |
EDIT | Add v4.14 entry; update lines 334 + 434 (move Chunk 8 candidates → historical) |
~/code/offplan-online/preview/plan/launch-plan-stage-1.html |
SYNC | Copy from os/ |
~/code/offplan-online/preview/plan/launch-plan-changelog.html |
SYNC | Copy from os/ |
workstreams/stage1-roman-integration.md |
EDIT | Session Log CONV-31 entry; What's Next pivot to 4 sub-plan ratifications; last_session bump |
plans/stage1-chunk-8-adr-placeholders.md |
NEW | This file (ratified plan) |
НЕ трогаем:
plans/permission-and-tenancy-model.md,plans/onboarding-trial-mode.md,plans/legal-multi-party-framework.md,plans/buyer-profile-and-presentation.md— все остаютсяstatus: stub. Ratification отдельными/planсессиями.plans/remote-presentation.md— referenced в Phase 1.11 callout, но не существует. ADR 0012 references буду указывать наbuyer-profile-and-presentation.md(single sub-plan covers 1.11.1-8) или создать stubremote-presentation.mdseparately если user попросит. Default: skip создание stub в Chunk 8.- Foundational/Phase deferral text content — только link targets обновляются (Type C).
- Other HTML files (
launch-plan-v3-full.htmllegacy /launch-plan-appendices.html/launch-plan-future.html/ landing-*) — не упоминают ADR 0008-0012.
Dependencies
- Git клиент работает в
os/+preview/— последний sync был CONV-30 (ba14037 в preview); preview repo writeable + push'абельный. - Notion MCP (
post-page+patch-page) для Sessions DB write на/handoff(NOT для этого/planstep).query-data-sourceсломан — не блокирует Chunk 8. - No external API / vendor dependencies — pure plan-document refactor.
Testing & Verification
После Stage A (ADRs batch):
wc -l docs/decisions/0008-*.md docs/decisions/0009-*.md docs/decisions/0010-*.md docs/decisions/0011-*.md docs/decisions/0012-*.md— ожидаемо ~50/~80-100/~60-70/~30/~30 строк.head -10на каждом — frontmatter format consistency (id / title / status / date поля).head -15 docs/decisions/0005-sso-google-only.md— verify revised: 2026-05-09, original CONV-17 note preserved как «Revision 2».- Manual user review per Approach B — все 6 файлов в одном passe.
После Stage B (callout cleanup):
grep -n '<a href="../decisions/">[^<]*</a>' docs/rendered/launch-plan-stage-1.html | wc -l— должно вернуть 0 (все placeholder ссылки заменены).grep -n "ADR 0008\|ADR 0009\|ADR 0010\|ADR 0011\|ADR 0012\|ADR 0005" docs/rendered/launch-plan-stage-1.html | grep -v "decisions/00\|0009-\|0010-\|0011-\|0012-\|0008-\|0005-"— должно вернуть 0 (нет неживых ADR mentions).grep -n "(pending)\|Will be written в Chunk 8\|placeholder, write в Chunk 8\|вторая ревизия pending" docs/rendered/launch-plan-stage-1.html— должно вернуть 0.
После Stage C (changelog + sync + workstream):
- Open
docs/rendered/launch-plan-changelog.html→ verify v4.14 entry visible at top + lines 334/434 updated. diff docs/rendered/launch-plan-stage-1.html ~/code/offplan-online/preview/plan/launch-plan-stage-1.html— должно быть пусто.cd ~/code/offplan-online/preview && git log -1— verify push успешен.head -25 workstreams/stage1-roman-integration.md— verify last_session: CONV-31, What's Next mention'ит 4 sub-plan ratifications.
Workstreams
| Name | Priority | Depends On | Tags | Tasks |
|---|---|---|---|---|
| stage1-roman-integration (existing parent) | P0 | — | architecture, ux, domain, security | All Stage A + B + C steps; Wave 2 Chunk 8 closes Wave 2 |
Important: No new workstream file. Chunk 8 расширяет existing workstreams/stage1-roman-integration.md (parent workstream), matching pattern Chunk 7 + Chunk 7.5. Single workstream row отражает что весь Chunk 8 — sub-unit под parent.
Risks & Edge Cases
Technical risks
- Cross-references между ADR файлами должны быть consistent. 0010 ref's 0009 (entity model anchor); 0008 ref's 0009 (Org type) + 0010 (visibility model); 0011 ref's 0008 (Tier 2 DKIM gate); 0012 standalone. Mitigation: dependency order writing per L8 + final sweep grep после Stage A.
- 0005 in-place revision должна preserve original CONV-17 note. Risk: overwriting prior revision history. Mitigation: add NEW «Revision 3» note сверху, preserve старую «Revision 2 (2026-05-07)» секцию ниже как-есть. Verify
grep -A 2 "Revision note (2026-05-07"after edit. - Type B callout cleanup precision.
<a href="../decisions/">placeholder pattern может задеть другие уже-live ADR ссылки (например к 0005 / 0006 / 0007). Mitigation: sed/edit с full context — не bulk replace; manual verification каждого link target. - Preview repo sync failure. Если push в preview repo fails (auth / network) — preview расходится с canonical. Mitigation: Stage C делается last; если preview push fails → fix or document, но main commits уже locked.
- Plan callout grep precision. Risk упустить ADR mention в обкладке таблицы / details / nested element. Mitigation: triple verification (Type A explicit list + Type B grep sweep + final no-pending check).
Scope risks
- 0008 admin mode coupling vs Atelier rework. CONV-21 introduced Quick Build mode = Free Guest tier coupling; ADR 0008 codifies. Risk: if Atelier rework decisions переоткрываются в sub-plan ratification, 0008 admin mode subsection потребует update. Mitigation: mark 0008 status
accepted-structure-pending-numbersтак что numbers/naming changes не require revision на admin coupling. - 0012 narrow scope (use-case A only) может потом потребовать unit-status-sync (use-case B) = pivot on Polling решение. Mitigation: L3 explicit decision; if Phase 1.10 implementation discovers shared infra cheaper — write 0013 then.
From Learnings DB
- L «Off-plan stock allocation — S·1 (Shared default + Single + exclusivity scope)» [architecture, domain, ux] (CONV-16) — PARTIALLY STALE: captured pre-CONV-18 «Shared default»; ratified version = «Closed pool default + per-project Open mode toggle». Three sub-rules остаются valid (Owner/Admin/Manager always sees all units; Editor sees all regardless of assignment; on target removal escalate up never auto-revert) — эти кодифицированы в ADR 0010 как sub-rules section. Stale Learning будет обновлён в
/handofflearning entry после Chunk 8. - L «Multi-level access: 5-tier model для B2B2C white-label SaaS» [architecture, domain] (CONV-7) — STALE: superseded by Org-based RBAC. ADR 0009 кодифицирует ratified Foundational §1+§2+§4 model (Client + Organisation multi-type + 5 Partner roles + Buyer + Operator) — не legacy 5-level. Stale Learning будет обновлён в
/handofflearning entry после Chunk 8.
From ratification sweep (Step 4.5 surfaced)
- CONV-20 session note (DKIM + white-label sender-domain delegation) — упоминает Resend как recommended provider для DKIM-delegated white-label setup. Это 4-я архитектура для ADR 0011 которую исходный keyword search не surface'ил. Action: ADR 0011 расширен на 4 architectures (исходные 3 + Resend white-label delegation); Decision criteria получает «vendor lock-in» as additional axis.
Evaluation
| Field | Description |
|---|---|
| Artefact | 5 new ADR files + 1 revised ADR + updated stage-1.html + updated changelog + synced preview + updated workstream + this plan file |
| 2-min check | (a) ls docs/decisions/ shows 0008-0012 + 0005; (b) grep "Revision 3" docs/decisions/0005-*.md matches; (c) grep "v4.14" docs/rendered/launch-plan-changelog.html matches; (d) git log -3 shows 3 expected commits; (e) head -5 workstreams/stage1-roman-integration.md shows last_session: CONV-31 |
| Agent self-check | Run all 3 Testing & Verification sections per stage; verify zero placeholder <a href="../decisions/"> left; verify cross-refs между ADRs consistent (grep ADR mentions in each file); confirm preview repo HEAD sync to os/ HEAD via diff |