Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
353 commits
Select commit Hold shift + click to select a range
bce0bc7
docs(standards): align the durable acceptance proof reference
cemililik Oct 13, 2026
81ab105
docs(roadmap): close both durable acceptance review rounds
cemililik Oct 13, 2026
77890ea
feat(kernel): own subscriber business completion and commit admission
cemililik Oct 13, 2026
5a8b85d
docs(roadmap): record subscriber owner review and regression evidence
cemililik Oct 13, 2026
3411424
docs(roadmap): close both subscriber business owner reviews
cemililik Oct 13, 2026
262d4b2
feat(kernel): schedule independent subscriber delivery and replay
cemililik Oct 13, 2026
14d5f93
fix(kernel): isolate acceptance from subscriber execution lanes
cemililik Oct 13, 2026
94d7d6b
docs(roadmap): close subscriber scheduler review rounds
cemililik Oct 13, 2026
d53ae27
feat(customization): initialize preserved defaults and hand off seed
cemililik Oct 13, 2026
0302d8a
docs(architecture): align current default delivery guidance
cemililik Oct 13, 2026
ac7bbee
docs(roadmap): close default delivery and seed review rounds
cemililik Oct 13, 2026
82623d8
test(kernel): enforce production subscription delivery boundaries
cemililik Oct 13, 2026
84995d3
fix(kernel): close typed delivery enforcement escapes
cemililik Oct 13, 2026
a8e9c9d
docs(roadmap): close all subscriber delivery review rounds
cemililik Oct 13, 2026
683ea53
docs(roadmap): link subscriber delivery PR handoff
cemililik Oct 13, 2026
586ed75
fix(kernel): close subscriber delivery review gaps
cemililik Oct 15, 2026
a393a4b
docs: align delivery review guidance with accepted ownership
cemililik Oct 15, 2026
d8c766f
docs(standards): wrap tenant announcement guidance
cemililik Oct 15, 2026
b681edb
fix(standards): count both implemented isolation rules
cemililik Oct 15, 2026
92e296e
fix(kernel): preserve delivery progress and compatible acceptance
cemililik Oct 15, 2026
a95ae2e
docs(roadmap): record delivery remediation review round one
cemililik Oct 15, 2026
bd51a97
fix(kernel): preserve producer progress during terminal audit faults
cemililik Oct 15, 2026
0fa7dc8
docs(roadmap): close verified delivery and producer review fixes
cemililik Oct 15, 2026
fc1e821
chore: sync development after PR 31 merge
cemililik Oct 15, 2026
71568e7
docs(roadmap): close P02b-3 after PR 31 merge
cemililik Oct 15, 2026
266a46d
docs(decisions): propose P02b-4 transactional job runtime
cemililik Oct 15, 2026
46ca923
docs(decisions): expand Hangfire runtime alternatives
cemililik Oct 15, 2026
ec1a552
docs(decisions): clarify job workloads before runtime selection
cemililik Oct 15, 2026
dae3ea4
docs(decisions): correct job carrier locator and record reviews
cemililik Oct 15, 2026
fa53917
docs(decisions): propose expanded H1 background job contract
cemililik Oct 15, 2026
29cc4c1
docs(decisions): refine H1 proposal after first review
cemililik Oct 15, 2026
40c9f9b
docs(decisions): reconcile concurrent H1 overrun bounds
cemililik Oct 15, 2026
fe274ce
docs(roadmap): record final H1 proposal review readiness
cemililik Oct 15, 2026
affa0ac
docs(decisions): accept expanded H1 background job runtime
cemililik Oct 15, 2026
94b126b
feat(kernel): add typed job contracts and ordinary authority guards
cemililik Oct 15, 2026
bf43308
fix(kernel): close job ancestry and identifier lifetime gaps
cemililik Oct 15, 2026
1b4ec7f
docs(roadmap): record completed job contract review rounds
cemililik Oct 15, 2026
f5dd3a4
docs(decisions): propose bounded stock counter maintenance
cemililik Oct 15, 2026
446d0a5
docs(decisions): qualify selective Hangfire maintenance
cemililik Oct 15, 2026
fcab1e0
docs(roadmap): close revised maintenance proposal reviews
cemililik Oct 15, 2026
14bf9c4
docs(decisions): accept bounded stock maintenance policy
cemililik Oct 15, 2026
583374f
feat(kernel): add guarded job and Hangfire storage
cemililik Oct 15, 2026
a593cd2
fix(kernel): close storage bootstrap review gaps
cemililik Oct 15, 2026
5d55ee7
fix(kernel): preserve known and unknown job outcomes
cemililik Oct 16, 2026
483463f
docs(roadmap): close reviewed job storage step
cemililik Oct 16, 2026
63a7f4a
feat(kernel): add transactional job submission and admission
cemililik Oct 16, 2026
0ddcb3e
fix(kernel): bound job submission and admission SQL waits
cemililik Oct 16, 2026
def48a1
docs(roadmap): close reviewed job submission and admission step
cemililik Oct 16, 2026
f8ff691
docs(decisions): propose owned Hangfire server generations
cemililik Oct 16, 2026
2103f05
docs(decisions): qualify shared maintenance and process exit
cemililik Oct 16, 2026
878bcd4
docs(roadmap): expose pending server lifecycle decision
cemililik Oct 16, 2026
b49998d
docs(roadmap): record reviewed server lifecycle proposal
cemililik Oct 16, 2026
1853b48
docs(decisions): close server lifecycle review gaps
cemililik Oct 16, 2026
b4a6fec
docs(roadmap): record lifecycle revision reviews and correction
cemililik Oct 16, 2026
7122179
docs(decisions): name bounded pool availability supersession
cemililik Oct 16, 2026
35b6985
docs(decisions): preserve retention beyond the stop threshold
cemililik Oct 16, 2026
0db27eb
docs(roadmap): record revised lifecycle proposal closeout
cemililik Oct 16, 2026
6c52eaa
docs(decisions): accept owned Hangfire server generations
cemililik Oct 16, 2026
34be14e
docs(decisions): propose fatal required-startup boundary
cemililik Oct 16, 2026
ac5a1cd
docs(decisions): record required-startup proposal reviews
cemililik Oct 16, 2026
1b6baa0
docs(decisions): record required-startup second reviews
cemililik Oct 16, 2026
422519b
feat(kernel): add confined Hangfire bridge and storage boundary
cemililik Oct 16, 2026
9db4822
fix(kernel): preserve retry precedence and bridge credential bounds
cemililik Oct 16, 2026
189f3bc
docs(decisions): revise fatal startup policy after external review
cemililik Oct 16, 2026
e0d39bf
docs(decisions): accept ADR-0060 before lifecycle implementation
cemililik Oct 16, 2026
e1e6db4
feat(kernel): own Hangfire generation and fatal lifecycle boundaries
cemililik Oct 16, 2026
28433f2
fix(kernel): preserve fetched-heartbeat storage failure health
cemililik Oct 16, 2026
d9fda17
feat(kernel): own pool replacement and private job cleanup
cemililik Oct 16, 2026
a1832c6
feat(kernel): compose owned job runtime and source lifetime
cemililik Oct 16, 2026
53ec8a4
fix(kernel): bound framework waits and report lifecycle health
cemililik Oct 16, 2026
4826b7d
test(kernel): qualify heartbeat outage and close Step 4
cemililik Oct 16, 2026
9b63440
feat(kernel): execute transactional background jobs
cemililik Oct 16, 2026
9dbea7b
fix(kernel): join actual auxiliary cleanup before job release
cemililik Oct 16, 2026
6a2ded9
fix(kernel): retain job decisions and bounded cleanup signals
cemililik Oct 16, 2026
89d2ec7
docs(roadmap): close job owner reviews and start capacity work
cemililik Oct 16, 2026
8e0f982
docs(decisions): propose known external job failure policy
cemililik Oct 16, 2026
1b55e60
docs(decisions): refine external failure policy proposal
cemililik Oct 16, 2026
8295666
docs(decisions): accept known external job failure policy
cemililik Oct 16, 2026
caf5129
feat(kernel): enforce tenant-wide job capacity reservations
cemililik Oct 17, 2026
d387f71
fix(kernel): settle capacity cleanup after peer recovery
cemililik Oct 17, 2026
0ea50b1
fix(kernel): reconcile original capacity admission history
cemililik Oct 17, 2026
6e90a52
feat(kernel): execute and recover staged external jobs
cemililik Oct 17, 2026
ef3cf7b
fix(kernel): defer external jobs when tenant capacity is full
cemililik Oct 17, 2026
1ef18e6
fix(kernel): bound terminal cleanup candidate scans
cemililik Oct 17, 2026
d0eb759
test(kernel): verify external cancellation across restart
cemililik Oct 17, 2026
69405b1
test(jobs): qualify recovered external failure policies
cemililik Oct 17, 2026
69c3998
feat(kernel): add durable recurrence and bounded recipient pages
cemililik Oct 17, 2026
2059a7e
feat(kernel): add acknowledged recipient routing claims
cemililik Oct 17, 2026
a99e6a8
feat(kernel): submit recipient jobs on the existing owner
cemililik Oct 17, 2026
f08f8bf
feat(kernel): reconcile recipient receipts after actual cleanup
cemililik Oct 17, 2026
35c3e0d
test(kernel): qualify recipient admission fault boundaries
cemililik Oct 17, 2026
c4a93de
fix(kernel): fence native recurring writes against supersession
cemililik Oct 17, 2026
c500bcb
feat(kernel): own recurrence runtime and quarantine observation
cemililik Oct 17, 2026
dd600e8
test(kernel): prove retained recurrence native ownership
cemililik Oct 17, 2026
b72ce6c
test(kernel): prove retained recipient progress and source pins
cemililik Oct 18, 2026
59a19e1
test(kernel): close recurrence core capability identities
cemililik Oct 18, 2026
332e7a4
test(kernel): close recurrence ownership and hint boundaries
cemililik Oct 18, 2026
f687924
fix(kernel): contain invalid recurrence facts and late setup
cemililik Oct 18, 2026
390515b
fix(kernel): close recurrence drain and parent stop qualification
cemililik Oct 18, 2026
215b98e
test(kernel): tighten recurrence guards and scope metadata scans
cemililik Oct 18, 2026
921e78f
test(kernel): defer orchestration identity formatting
cemililik Oct 18, 2026
02f99f2
test(kernel): bound parallel census mutation collections
cemililik Oct 18, 2026
54816f8
feat(kernel): observe durable job obligations across restarts
cemililik Oct 18, 2026
09ffcab
feat(kernel): project confirmed native job observation facts
cemililik Oct 18, 2026
08000fd
feat(kernel): expose bounded memory-only job metrics
cemililik Oct 18, 2026
bd7030d
feat(kernel): record actual job stage outcomes after owned cleanup
cemililik Oct 18, 2026
531bc6e
feat(kernel): preserve owned job tracing across observer faults
cemililik Oct 18, 2026
c581f79
fix(kernel): count confirmed job control transitions
cemililik Oct 18, 2026
c5a8cd1
test(kernel): qualify job control transition observations
cemililik Oct 18, 2026
aaf1f8d
feat(kernel): observe acknowledged recurrence progress
cemililik Oct 18, 2026
74fab4a
fix(kernel): count fenced bridge repairs and deferrals
cemililik Oct 18, 2026
4dcd5e8
feat(kernel): observe first acknowledged job lease loss
cemililik Oct 18, 2026
3137a0f
feat(kernel): observe actual late job settlement
cemililik Oct 18, 2026
dba8738
docs: add the shared background job workflow
cemililik Oct 18, 2026
538a2c8
test(kernel): close job manifest and route census gaps
cemililik Oct 18, 2026
35e2f45
test(kernel): verify context before actual job construction
cemililik Oct 18, 2026
3837a8f
ci: qualify the published Hangfire distribution
cemililik Oct 18, 2026
97896ff
test(kernel): align job obligation owners with the catalogue
cemililik Oct 18, 2026
d2bb2ee
test(kernel): qualify combined privileged connection ownership
cemililik Oct 18, 2026
c176dd8
test(kernel): correct final regression fixture boundaries
cemililik Oct 18, 2026
720fca1
docs(standards): record enforced background job obligations
cemililik Oct 18, 2026
199b033
test(kernel): qualify P02b-4 completion and closeout
cemililik Oct 18, 2026
2e1d227
docs(roadmap): link P02b-4 PR and live CI ownership
cemililik Oct 18, 2026
aeec7fd
docs(decisions): propose isolated native CI prerequisites
cemililik Oct 18, 2026
aa5f705
docs(decisions): reserve native CI finalization margin
cemililik Oct 18, 2026
bc3691f
fix(dev): reuse one fresh migration and demo build
cemililik Oct 18, 2026
6d33306
test(kernel): avoid repeated CI census and database setup
cemililik Oct 18, 2026
0fe0db2
test(ci): observe native prerequisites and completed cases
cemililik Oct 18, 2026
641ba36
fix(web): classify read-only CI diagnostic sources
cemililik Oct 18, 2026
5134637
docs(decisions): revise native CI authority and qualification
cemililik Oct 18, 2026
82d5307
test(kernel): defer capacity and recipient owner formatting
cemililik Oct 18, 2026
e406b70
test(kernel): index concrete task owner writes
cemililik Oct 18, 2026
c4e64b5
docs(decisions): accept bounded native CI provisioning
cemililik Oct 18, 2026
ee11bc9
ci: isolate and qualify complete native crash proofs
cemililik Oct 18, 2026
779b600
fix(ci): preserve exact interrupted test evidence
cemililik Oct 18, 2026
6daa9a1
fix(ci): align native proof context and compiler census
cemililik Oct 18, 2026
1458401
fix(ci): publish synthetic cgroup snapshots atomically
cemililik Oct 18, 2026
37ff4c5
fix(ci): retain closed crash inventory refusal details
cemililik Oct 18, 2026
3f5f09e
docs(decisions): propose complete bounded CI test shards
cemililik Oct 18, 2026
b4ee65b
fix(ci): classify crash candidates without disclosing contents
cemililik Oct 18, 2026
d39233d
fix(ci): distinguish bounded Docker inventory observations
cemililik Oct 18, 2026
f53c36f
fix(ci): retain closed image and workload failure facts
cemililik Oct 18, 2026
7cd07a1
fix(ci): qualify image layer scope in crash inventory
cemililik Oct 18, 2026
e710bb6
fix(ci): classify unexpected workload faults without provider text
cemililik Oct 18, 2026
9aad3c5
fix(ci): retain result evidence across diagnostic rotation
cemililik Oct 18, 2026
3553ff1
docs(roadmap): record native proof and rotation review
cemililik Oct 18, 2026
b3ee4ea
docs(decisions): revise bounded CI shard qualification
cemililik Oct 18, 2026
2e1fedc
docs(roadmap): record revised shard proposal reviews
cemililik Oct 18, 2026
94f201a
docs(decisions): accept complete bounded CI shard plan
cemililik Oct 18, 2026
480fb1b
feat(ci): add complete selector assignment and bounded shard plan
cemililik Oct 18, 2026
0c97dd2
fix(ci): refuse selectors shared across trait partitions
cemililik Oct 18, 2026
357b97f
docs(roadmap): close selector plan reviews and begin execution
cemililik Oct 18, 2026
17f9cd4
feat(ci): add bounded shard execution and scoped resource receipts
cemililik Oct 18, 2026
9d3c7b4
docs(roadmap): record bounded execution first review
cemililik Oct 18, 2026
fc67d1f
fix(ci): bound startup and surface pre-ready worker refusals
cemililik Oct 18, 2026
83be42d
docs(roadmap): close bounded execution reviews and correction
cemililik Oct 18, 2026
10e1b16
feat(ci): enforce complete attempt-bound shard results
cemililik Oct 18, 2026
98ae41a
fix(ci): join aggregate manifests and preserve rerun identity
cemililik Oct 18, 2026
70c8fde
fix(ci): retain image identity and deterministic interruption proof
cemililik Oct 18, 2026
4a14a81
fix(ci): retain closed failure locations for hosted diagnosis
cemililik Oct 18, 2026
ec5b045
docs(roadmap): record hosted diagnostic correction approval
cemililik Oct 18, 2026
2b8d6cb
fix(ci): expose finite heartbeat and public proof failure facts
cemililik Oct 18, 2026
30ef90d
fix(ci): match actual generation record diagnostic shape
cemililik Oct 18, 2026
e0124ba
docs(roadmap): record reviewed finite hosted failure diagnosis
cemililik Oct 18, 2026
2c7d430
fix(jobs): observe native heartbeat lifecycle progress
cemililik Oct 18, 2026
89fd845
docs(roadmap): record heartbeat diagnostic reviews
cemililik Oct 18, 2026
15d5161
fix(kernel): qualify native starts after committed handoff
cemililik Oct 18, 2026
6f5025c
test(kernel): qualify adjacent native execution premises
cemililik Oct 19, 2026
c3564e0
docs(roadmap): record native correction review approvals
cemililik Oct 19, 2026
78c5132
fix(kernel): join asynchronous vendor connection acquisition
cemililik Oct 19, 2026
da8a595
fix(kernel): share bounded privileged connection acquisition
cemililik Oct 19, 2026
0634280
docs(roadmap): record acquisition correction reviews
cemililik Oct 19, 2026
65afb4d
test(kernel): qualify remaining native execution entry premises
cemililik Oct 19, 2026
39adff2
docs(roadmap): record native entry correction reviews
cemililik Oct 19, 2026
18ba170
test(kernel): join actual pool and native wrapper completion
cemililik Oct 19, 2026
1dbde1a
docs(roadmap): record owned completion correction reviews
cemililik Oct 19, 2026
df6e276
fix(kernel): close verified job runtime review gaps
cemililik Oct 19, 2026
bc5bf1c
docs(standards): finish job authority reconciliation
cemililik Oct 19, 2026
8cd789d
docs(roadmap): record completed correction reviews
cemililik Oct 19, 2026
6bcc2b9
test(kernel): preserve observation hash projection controls
cemililik Oct 19, 2026
12c79f3
docs(roadmap): record projection correction reviews
cemililik Oct 19, 2026
f8c003a
test(kernel): isolate final fence from retry hint diagnostics
cemililik Oct 19, 2026
2b62623
test(kernel): order native staging after bridge acknowledgement
cemililik Oct 19, 2026
62ad318
docs(roadmap): close native fence correction reviews
cemililik Oct 19, 2026
cd69bbc
fix(kernel): tighten verified review safeguards
cemililik Oct 19, 2026
abd5320
docs(standards): clarify retry hint default after review
cemililik Oct 19, 2026
617ed08
docs(roadmap): record completed safeguard correction reviews
cemililik Oct 19, 2026
466d88e
docs(architecture): accept content type quota accounting
cemililik Oct 19, 2026
04b4e78
fix(customization): enforce approved content type quota
cemililik Oct 19, 2026
d2c414e
docs(roadmap): record first quota correction review
cemililik Oct 19, 2026
1261c38
docs(roadmap): close quota correction reviews for qualification
cemililik Oct 19, 2026
e95d67e
docs(roadmap): close merged P02b-4 and name the next packet
cemililik Oct 19, 2026
0e23cb1
chore: sync merged P02b-4 into development
cemililik Oct 19, 2026
5bfe3c3
docs(decisions): propose the P02b-5 authentication boundary
cemililik Oct 19, 2026
c94abe1
docs(roadmap): record P02b-5 decision reviews
cemililik Oct 19, 2026
5e8539c
docs(decisions): resolve tenant authentication review gaps
cemililik Oct 19, 2026
9ff8c8a
docs(roadmap): record first authentication revision reviews
cemililik Oct 19, 2026
945f7ba
docs(roadmap): close authentication proposal revision reviews
cemililik Oct 19, 2026
493d7f9
docs(decisions): accept the tenant authentication boundary
cemililik Oct 19, 2026
6526362
feat(kernel): add the isolated tenant token foundation
cemililik Oct 19, 2026
c6108bf
fix(kernel): keep metadata hosts out of native HTTP metrics
cemililik Oct 19, 2026
e67c329
docs(roadmap): close both token foundation review rounds
cemililik Oct 19, 2026
a736edb
feat(tenancy): add the host-bounded read-only account query
cemililik Oct 19, 2026
e36d47c
docs(tenancy): record account query review and implementation
cemililik Oct 19, 2026
8f9ecff
docs(roadmap): close both account query review rounds
cemililik Oct 19, 2026
c090970
feat(kernel): attribute tenant refusals and add subject admission
cemililik Oct 19, 2026
90724a5
docs(roadmap): record the first admission review round
cemililik Oct 19, 2026
40fe1ee
fix(kernel): export actor UUIDs at rejection log boundaries
cemililik Oct 19, 2026
6686d01
docs(roadmap): wrap the admission closeout pointer
cemililik Oct 19, 2026
0be26ab
feat(api): activate the closed tenant authentication boundary
cemililik Oct 19, 2026
746c0cd
fix(api): document the early request body refusal
cemililik Oct 19, 2026
a7c9d5a
docs(roadmap): close both HTTP activation review rounds
cemililik Oct 19, 2026
d463952
test(kernel): enforce closed tenant authentication authority
cemililik Oct 19, 2026
1942662
fix(kernel): close alternate authentication authority paths
cemililik Oct 19, 2026
e20b607
fix(kernel): close identity exports and inherited role metadata
cemililik Oct 19, 2026
b79acc8
docs(roadmap): close tenant API implementation and reviews
cemililik Oct 19, 2026
5676c75
docs(roadmap): link tenant authentication review handoff
cemililik Oct 19, 2026
afa8481
docs(decisions): fix punctuation in ADR index summaries
coderabbitai[bot] Oct 19, 2026
d335f2b
docs(decisions): accept bounded tenant assertion diagnostics
cemililik Oct 19, 2026
8a3892d
fix(kernel): close tenant authentication review gaps
cemililik Oct 19, 2026
ac82ca6
docs(roadmap): record authentication review corrections
cemililik Oct 19, 2026
f5befc9
fix(ci): retain closed public demo failure phases
cemililik Oct 19, 2026
ce2b746
fix(ci): recognize signalled browser startup exits
cemililik Oct 19, 2026
d9f21dd
fix(ci): accept native child status in diagnostic types
cemililik Oct 19, 2026
9aad55b
docs(roadmap): record hosted authentication qualification
cemililik Oct 19, 2026
9d4ec0e
docs(standards): Mark ADR-0065 diagnostic controls as implemented
coderabbitai[bot] Oct 20, 2026
15c2f49
fix(auth): close review privacy and proof gaps
cemililik Oct 20, 2026
653404a
fix(tests): close cross-assembly and middleware proof gaps
cemililik Oct 20, 2026
8f2ebb9
fix(tests): reject hidden fluent middleware registrations
cemililik Oct 20, 2026
09e1a16
docs(roadmap): record verified second review corrections
cemililik Oct 20, 2026
ed21d9f
docs(decisions): clarify subject admission fault ownership
cemililik Oct 20, 2026
4b4a9ac
docs(decisions): complete admission retry contract inventory
cemililik Oct 20, 2026
453d5c3
docs(roadmap): record subject admission revision reviews
cemililik Oct 20, 2026
c8b9d89
docs(decisions): accept bounded subject admission contract
cemililik Oct 20, 2026
0179955
feat(auth): own bounded subject admission cleanup
cemililik Oct 20, 2026
082a658
fix(auth): preserve no-store on every subject refusal
cemililik Oct 20, 2026
5daee8a
docs(roadmap): close subject admission implementation reviews
cemililik Oct 20, 2026
57f49ce
fix(auth): close HTTP boundary proofs and receipt chronology
cemililik Oct 20, 2026
6380fcc
test(auth): close provider and anonymous metadata escape paths
cemililik Oct 20, 2026
09dcb11
test(auth): pin effective action filters and authorization metadata
cemililik Oct 20, 2026
09fdf8a
docs(roadmap): close backend correction review rounds
cemililik Oct 20, 2026
8f433a7
fix(web): bind demo receipts and preserve failure ownership
cemililik Oct 20, 2026
9d08070
fix(web): retain the first owned demo failure
cemililik Oct 20, 2026
9b6794d
fix(web): observe failing native exits before output closure
cemililik Oct 20, 2026
49c2c43
fix(web): publish every unexpected daemon exit
cemililik Oct 20, 2026
00a7877
docs(roadmap): close systematic correction review rounds
cemililik Oct 20, 2026
9014ec6
fix(ci): refresh architecture weights from complete hosted receipts
cemililik Oct 20, 2026
b3abbce
docs(roadmap): close measured timing correction reviews
cemililik Oct 20, 2026
dbb2e9f
fix(ci): require identified hosted timing sources
cemililik Oct 20, 2026
419e456
docs(roadmap): close provenance guard reviews
cemililik Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ ConnectionStrings__PlatformAdmin='Host=localhost;Port=5432;Database=learnstack;U
ConnectionStrings__OutboxDispatcher='Host=localhost;Port=5432;Database=learnstack;Username=learnstack_outbox_admin;Password=learnstack-outbox-dev'

# ─── Keycloak (two realms per ADR-0004 Amendment 1) ──────────────────────
# The Development API defaults to the loopback tenant issuer declared in
# backend/src/LearnStack.Api/appsettings.Development.json. Other deployment modes
# require an explicit canonical HTTPS issuer; this override goes only to the API.
# Authentication__Tenant__Issuer=https://identity.example/realms/learnstack
KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=admin-dev-secret

Expand Down
59 changes: 52 additions & 7 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,11 +229,52 @@ records verified corrections and two further independent review rounds; the
records subsequent runtime/proof corrections and their completed reviews. The
[P02b-3 merge closeout](docs/roadmap/phase-02b-events-auth.md#p02b-3-merge-and-closeout-2026-10-15)
owns final source/merge and CI verification.
P02b-4's transactional job infrastructure is implemented under Accepted ADR-0047
and its lifecycle decisions. ADR-0062/0063 supply the bounded CI implementation.
The [live Phase 02b status](docs/roadmap/phase-02b-events-auth.md) owns current remediation,
review and final-source A/B qualification; new source requires both complete
assignments. Production business and recurrence definitions remain empty.
**P02b-4 is complete and merged** through
[PR #32](https://github.com/HodeTech/LearnStack/pull/32) on 2026-10-19. Its
[merge closeout](docs/roadmap/phase-02b-events-auth.md#p02b-4-merge-and-closeout-2026-10-19)
records all nine job-runtime steps, three CI steps, independent reviews and both
complete final-source hosted assignments. Production business and recurrence
definitions remain empty. **P02b-5's decision package and ADR-0064 are Accepted
— 2026-10-19**; their
[decision pass](docs/roadmap/phase-02b-events-auth.md#p02b-5-decision-package-2026-10-19)
authorizes five implementation steps, each with commit and two fresh independent
review rounds. Step 1 completes acceptance disclosures and the isolated token
foundation after both independent review rounds; its
[record](docs/roadmap/phase-02b-events-auth.md#p02b-5-step-1--token-foundation-2026-10-19)
owns the verified metric-privacy correction. Step 2 completes the real read-only
subject after both independent review rounds; its
[record](docs/roadmap/phase-02b-events-auth.md#p02b-5-step-2--real-read-only-application-subject-2026-10-19)
owns validation. Step 3 completes attributed reconciliation and subject admission
after both independent reviews; its
[record](docs/roadmap/phase-02b-events-auth.md#p02b-5-step-3--attributed-reconciliation-and-subject-admission-2026-10-19)
owns verified log-emission and default-window test corrections. Step 4 installs
the complete HTTP boundary and typed contract after both review rounds; its
[record](docs/roadmap/phase-02b-events-auth.md#p02b-5-step-4--atomic-http-activation-and-contracts-2026-10-19)
owns validation and completed reviews. Step 5 completes production enforcement
and both independent review rounds; its
[local closeout](docs/roadmap/phase-02b-events-auth.md#p02b-5-step-5--local-implementation-and-review-closeout-2026-10-19)
separates source-bound CI receipts from live PR-head qualification and merge.
All five steps are locally complete and unmerged. A subsequent
[review remediation](docs/roadmap/phase-02b-events-auth.md#p02b-5-external-review-remediation-2026-10-20)
verifies external findings. ADR-0065 is Accepted on 2026-10-20 after maintainer
review. Its implementation and local proofs are delivered; the remediation
record owns completed independent correction reviews and current PR-head CI
qualification. Realm reconciliation, BFF
sessions and phase exit remain
P02b-6–8.
The [second external-review follow-up](docs/roadmap/phase-02b-events-auth.md#p02b-5-second-external-review-follow-up-2026-10-20)
owns subsequent runtime/proof corrections and their source-bound reviews.
[ADR-0066](docs/decisions/0066-bounded-tenant-subject-admission.md) is Accepted —
2026-10-20. Its retained-subject bound, cleanup ownership and closed fault/refusal
signals are implemented with local runtime/exported proofs. The
[implementation record](docs/roadmap/phase-02b-events-auth.md#adr-0066-acceptance-and-implementation-2026-10-20)
owns source-bound validation, independent reviews and final-source CI qualification.
The [systematic correction record](docs/roadmap/phase-02b-events-auth.md#p02b-5-systematic-proof-and-document-corrections-2026-10-20)
owns subsequent proof/diagnostic, document and measured CI timing reconciliation;
all three correction steps and both independent review rounds are complete.
The live PR handoff owns exact current-source hosted qualification, including
fresh A/B qualification of the reviewed timing revision under ADR-0063.
No next packet or merge is authorized by this work.
Phase 06 retains the full
renderer/Studio expansion.

Expand Down Expand Up @@ -444,8 +485,12 @@ Then read the phase that is live and the one it stands on:
2026-10-13; its merge closeout above owns final verification. P02b-3 is complete
and merged through PR #31 on 2026-10-15; all six steps and correction bundles
completed both review rounds. Its merge closeout above owns final verification.
The linked phase status owns current P02b-4 remediation, reviews and final-source
qualification. P02b-5–8 remain pending; each later packet accepts its gates first.
P02b-4 is complete and merged through PR #32 on 2026-10-19; its merge closeout
above owns final verification. P02b-5's decision package and ADR-0064 are Accepted;
all five implementation steps and both review rounds per step are locally
complete and unmerged. Its closeout above owns CI/handoff status. P02b-6–8 remain
pending, with each
packet accepting its gates first.
- [docs/roadmap/phase-02d-walking-skeleton.md](docs/roadmap/phase-02d-walking-skeleton.md)
— complete and merged; the delivered public-site baseline and P02b-0 handoff.
`02d` sorts after `02b`/`02c` but runs **before** them; the roadmap dependency
Expand Down
42 changes: 28 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ the boundary between customization and capabilities that require platform code.

> **Under active development.** The backend foundation and Education schema are
> implemented. The first working browser experience is the current milestone;
> authentication, enrolment, payments and live teaching are still ahead.
> browser sign-in, enrolment, payments and live teaching are still ahead.
> See [current status](#where-it-is-today) before trying the local scaffold.

## What it does
Expand Down Expand Up @@ -82,11 +82,18 @@ durable subscriber acceptance, shared inbox/delivery ledger, both real default
subscriptions and Seeder handoff. Its
[merge closeout](docs/roadmap/phase-02b-events-auth.md#p02b-3-merge-and-closeout-2026-10-15)
owns final verification.
P02b-4's transactional job infrastructure is implemented under Accepted ADR-0047
and its lifecycle decisions. ADR-0062/0063 supply the bounded CI implementation.
The [live Phase 02b status](docs/roadmap/phase-02b-events-auth.md) owns current remediation,
review and final-source A/B qualification; new source requires both complete
assignments. Production business and recurrence definitions remain empty.
**P02b-4 is complete and merged** through
[PR #32](https://github.com/HodeTech/LearnStack/pull/32) on 2026-10-19. Its
[merge closeout](docs/roadmap/phase-02b-events-auth.md#p02b-4-merge-and-closeout-2026-10-19)
records all nine job-runtime steps, three CI steps, independent reviews and both
complete final-source hosted assignments. Production business and recurrence
definitions remain empty. **P02b-5 API authentication is locally complete and
unmerged** under Accepted ADR-0064/0065/0066. All five steps completed both independent
review rounds and verified corrections. Its
[Step 5 closeout](docs/roadmap/phase-02b-events-auth.md#p02b-5-step-5--local-implementation-and-review-closeout-2026-10-19)
records implementation, exact CI evidence and final PR-head qualification limits.
Realm reconciliation, BFF sessions and phase exit remain P02b-6–8; browser sign-in
is not implemented.
Phase 02b remains in progress.
[P02d-1](docs/roadmap/phase-02d-walking-skeleton.md#merge-and-closeout-2026-09-14) is
**complete and merged**: Education domain, schema and isolation proofs.
Expand Down Expand Up @@ -137,14 +144,15 @@ proof pass real CI; the seventh required context is active. The
owns CI enforcement, reviews and the positive phase-exit verdict.
[PR #28](https://github.com/HodeTech/LearnStack/pull/28) is merged; the
[merge closeout](docs/roadmap/phase-02d-walking-skeleton.md#p02d-7-merge-and-closeout-2026-10-11)
owns final verification. P02b-0 through P02b-3 are complete; the
[P02b-3 merge closeout](docs/roadmap/phase-02b-events-auth.md#p02b-3-merge-and-closeout-2026-10-15)
owns final source/merge verification. P02b-3 Steps 1–5 implement durable acceptance,
shared inbox/ledger, independent subscriber scheduling and both useful defaults
with semantic Seeder handoff. Its
owns final verification. P02b-0 through P02b-4 are complete. P02b-0 has an entry
verification; P02b-1–4 have the merge closeouts above for final source/merge
verification. P02b-3 Steps 1–5 implement durable
acceptance, shared inbox/ledger, independent subscriber scheduling and both
useful defaults with semantic Seeder handoff. Its
[Step 6 record](docs/roadmap/phase-02b-events-auth.md#p02b-3-step-6--production-enforcement-and-pr-closeout-2026-10-13)
records completed enforcement/regression and both review rounds for all six steps.
The merge closeout also records the verified external-review corrections. The
Its [merge closeout](docs/roadmap/phase-02b-events-auth.md#p02b-3-merge-and-closeout-2026-10-15)
also records the verified external-review corrections. The
[P02d-4 decision package](docs/roadmap/phase-02d-walking-skeleton.md#p02d-4-decision-package-2026-10-03)
is Accepted — 2026-10-03. All four implementation steps and their review loops
are complete. P02d-5 supplies trusted server rendering; P02d-6 supplies public
Expand All @@ -156,7 +164,7 @@ page consumers and P02d-7 the two-host browser demo.
| **Customization** | Content types, level taxonomies, exact-definition and generation-cached batched display readers, text-card metadata validation, create-only provisioning defaults and semantic built-in seed verification | Remaining authoring capabilities across [Phases 04–08a](docs/roadmap/README.md) |
| **Audit** | Classified write path and transactional durability for business changes | Operational hardening in [Phase 11](docs/roadmap/phase-11-production-hardening.md) |
| **Education** | Course and Lesson aggregates, translations, protected-content policy, scoped authoring commands, complete demo seeds and isolated public GET/HEAD reads | Full versioned curriculum in [Phase 05](docs/roadmap/phase-05-education-learning-content.md) |
| **API foundation** | Error contracts, validation, tenancy, concurrency, observability, transactional event production, hosted producer dispatch and independent durable subscriber delivery | Background jobs and authentication in [Phase 02b](docs/roadmap/phase-02b-events-auth.md) |
| **API foundation** | Error contracts, validation, tenancy, concurrency, observability, durable events/subscriber delivery, background jobs and the closed tenant bearer/AccountSite boundary | Realm reconciliation and BFF sessions in [Phase 02b](docs/roadmap/phase-02b-events-auth.md) |
| **Frontend** | Native TLS ingress, live locale entry, trusted server caller, localized catalog/course/lesson pages, safe themes, accessibility controls/manual smoke and generated typed SDK | Full renderer/Studio and Playwright Test/axe in [Phase 06](docs/roadmap/phase-06-renderer-admin-studio.md) |

**Four modules contain domain implementations:** Tenancy, Customization, Audit and
Expand Down Expand Up @@ -263,6 +271,12 @@ no-hop API startup remains supported outside this paired renderer recipe; supply
both `ConnectionStrings:Default` (`learnstack_app`) and
`ConnectionStrings:OutboxDispatcher` (`learnstack_outbox_admin`). The mandatory
API worker verifies dispatcher connectivity at startup.
Supply `Authentication:Tenant:Issuer` too: the canonical HTTPS tenant-realm URL,
with loopback HTTP allowed only in `Development`. The development configuration
defaults to `http://localhost:8080/realms/learnstack`; issuer configuration is
validated without contacting Keycloak at startup. Credential-free public reads
remain available when Keycloak is stopped. Real realm issuance/reconciliation and
browser sessions remain P02b-6 and P02b-7 respectively.

**P02d-5 is complete: ingress, visitor budgets and public entry.** The web
bootstraps the captured host through the API, redirects using enabled/default
Expand Down Expand Up @@ -305,7 +319,7 @@ three product surfaces. See the
| Database | PostgreSQL 18 | Migrations, tenant / organization RLS and integration proofs |
| Frontend | Next.js 15 · React 19 · TypeScript | App/UI scaffolds; generated SDK and injected transport implemented |
| Observability | OpenTelemetry · Serilog → OTLP | Cross-cutting backend instrumentation implemented |
| Identity | Keycloak | Local realms configured; application authentication belongs to Phase 02b |
| Identity | Keycloak | P02b-5 tenant API bearer boundary active; real realm reconciliation and browser sessions remain P02b-6–7 |
| Storage and search | SeaweedFS · PostgreSQL full-text search | Selected architecture; feature delivery belongs to Phases 04–05 |
| Live classroom | LiveKit through a provider adapter | Planned in Phase 08c, starting with Cloud and retaining a self-hosted path |

Expand Down
1 change: 1 addition & 0 deletions backend/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
range of a high-severity advisory (GHSA-v5pm-xwqc-g5wc); 10.0.12 requires
2.12.0 or later. -->
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.12" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.12" />

<!-- EF Core (per-module Infrastructure projects). One servicing release for the
whole EF set, and every project that references the Npgsql provider references
Expand Down
Loading
Loading