|
|
abf82f86ab
|
feat(pay): tenant-scope native pay and add legacy account/transaction import
|
2026-08-01 12:18:10 +08:00 |
|
|
|
891c461aff
|
feat(member): make education point ledger writes idempotent via unique key
|
2026-08-01 12:18:01 +08:00 |
|
|
|
04361a5880
|
feat(infra): add ClamAV file scanner and fail-closed scan configuration
|
2026-08-01 12:17:54 +08:00 |
|
|
|
0eba587459
|
docs(education): update migration status and add EDU-017~033 tickets
|
2026-08-01 12:17:00 +08:00 |
|
|
|
453193e857
|
feat(education): add production file scanning
|
2026-07-31 22:42:20 +08:00 |
|
|
|
c8a221acbc
|
docs(education): record migration closure evidence
|
2026-07-31 16:26:39 +08:00 |
|
|
|
184452404d
|
fix(education): align capability and catalog boundaries
|
2026-07-31 16:26:39 +08:00 |
|
|
|
4573c41c0e
|
fix(education): enforce migration role separation
|
2026-07-31 16:26:39 +08:00 |
|
|
|
26f9bcf696
|
fix(education): fence exam reminder delivery claims
|
2026-07-31 16:26:39 +08:00 |
|
|
|
bd956bcb35
|
fix(education): tighten entitlement integration contracts
|
2026-07-31 16:26:39 +08:00 |
|
|
|
fce2c6bc4a
|
fix(education): complete classroom member contract
|
2026-07-31 16:26:39 +08:00 |
|
|
|
d81c297381
|
fix(education): consolidate question import persistence
|
2026-07-31 16:26:39 +08:00 |
|
|
|
5ddfba2045
|
test(education): activate paid collection fixture
|
2026-07-31 13:37:29 +08:00 |
|
|
|
68815b1fda
|
test(education): activate entitlement fixtures transactionally
|
2026-07-31 13:35:25 +08:00 |
|
|
|
3cfe205dfa
|
fix(education): align integrated entitlement fixtures
|
2026-07-31 13:32:59 +08:00 |
|
|
|
83d5e9dfae
|
fix(education): preserve practice slice test composition
|
2026-07-31 13:29:26 +08:00 |
|
|
|
a267786e5a
|
fix(education): keep entitlement integration optional in slices
|
2026-07-31 13:22:50 +08:00 |
|
|
|
5aba83561e
|
fix(education): resolve integrated migration and telemetry conflicts
|
2026-07-31 13:18:05 +08:00 |
|
|
|
ed24350443
|
fix(education): reconcile integrated module contracts
|
2026-07-31 13:14:55 +08:00 |
|
|
|
268a29364b
|
fix(education): integrate EDU-011 bounded capability
|
2026-07-31 13:07:04 +08:00 |
|
|
|
7f12dd35c8
|
feat(education): admit secure import assets
|
2026-07-31 13:06:30 +08:00 |
|
|
|
b6a30e0b7c
|
fix(education): align import job failure state
|
2026-07-31 13:06:21 +08:00 |
|
|
|
82a0a7fc50
|
feat(education): add question import job application slice
|
2026-07-31 13:06:21 +08:00 |
|
|
|
3744c8c3be
|
feat(education): define content export redaction contract
|
2026-07-31 13:06:21 +08:00 |
|
|
|
2a53e8e2c0
|
feat(education): add content import persistence
|
2026-07-31 13:06:21 +08:00 |
|
|
|
26fa2dfaa2
|
docs(education): document bounded EDU-011 capability
|
2026-07-31 13:05:59 +08:00 |
|
|
|
e6202187ec
|
docs(education): close EDU-010 publication scope
|
2026-07-31 13:05:16 +08:00 |
|
|
|
be2c22e440
|
test(education): verify category blueprint publication
|
2026-07-31 13:04:19 +08:00 |
|
|
|
b8b06e0292
|
feat(education): add category lifecycle authoring
|
2026-07-31 13:04:03 +08:00 |
|
|
|
efaab4e03a
|
feat(education): add practice blueprint lifecycle
|
2026-07-31 13:03:38 +08:00 |
|
|
|
5bc1e9e634
|
feat(education): add bounded commercialization entitlements
|
2026-07-31 13:02:16 +08:00 |
|
|
|
8312859b39
|
feat(education): deliver bounded EDU-014 learning wave
|
2026-07-31 13:00:41 +08:00 |
|
|
|
f42ef76527
|
feat(education): establish operational independence contracts
|
2026-07-31 12:56:12 +08:00 |
|
|
|
428d4e10fd
|
feat(education): add class relationships
|
2026-07-31 12:53:47 +08:00 |
|
|
|
3fdc4edfe0
|
fix(education): keep capability manifest self-contained
|
2026-07-31 12:26:31 +08:00 |
|
|
|
f65a39b902
|
feat(education): expose migration theme status
|
2026-07-31 12:22:56 +08:00 |
|
|
|
bc2d555eb3
|
fix(education): reject public collection inserts
|
2026-07-31 12:12:30 +08:00 |
|
|
|
b531be0d5b
|
fix(education): atomically read collection questions
|
2026-07-31 12:12:30 +08:00 |
|
|
|
b569371005
|
fix(education): clear optional collection metadata
|
2026-07-31 12:12:30 +08:00 |
|
|
|
2df6b3f26c
|
fix(education): lock collection migration adoption
|
2026-07-31 12:12:30 +08:00 |
|
|
|
c3c244a6f5
|
fix(education): preserve manual collection order
|
2026-07-31 12:12:30 +08:00 |
|
|
|
eae5a6bb3a
|
fix(education): close collection release gate gaps
|
2026-07-31 12:12:30 +08:00 |
|
|
|
1be0b420c8
|
fix(education): enforce collection target integrity
|
2026-07-31 12:12:29 +08:00 |
|
|
|
588dd82638
|
fix(education): validate collection adoption history
|
2026-07-31 12:12:29 +08:00 |
|
|
|
5bd2f6758f
|
fix(education): guard collection question deletion
|
2026-07-31 12:12:29 +08:00 |
|
|
|
c6b482fa2b
|
fix(education): version collection membership replacements
|
2026-07-31 12:12:29 +08:00 |
|
|
|
08825ddb12
|
fix(education): secure collection publication boundaries
|
2026-07-31 12:12:29 +08:00 |
|
|
|
e272b8ec5f
|
fix(education): close collection integrity races
|
2026-07-31 12:12:29 +08:00 |
|
|
|
9a4d72bba4
|
test(education): align question fixtures with node lifecycle
|
2026-07-31 12:12:29 +08:00 |
|
|
|
10a4e087ea
|
test(education): verify collection permission seeds
|
2026-07-31 12:12:29 +08:00 |
|