cloud/C1: scaffold src/services/luminaCloud/#217
Closed
blueberrycongee wants to merge 2 commits intomainfrom
Closed
cloud/C1: scaffold src/services/luminaCloud/#217blueberrycongee wants to merge 2 commits intomainfrom
blueberrycongee wants to merge 2 commits intomainfrom
Conversation
Empty-but-typed module structure for the Lumina Cloud client. Types in types.ts mirror CONTRACT.md §1.1 license payload, §2.4 usage response, and §6 error shapes. PUBLIC_KEY.ts ships an obviously-fake placeholder key marked for Lead replacement from lumina-cloud T3. verify.ts / store.ts / revocations.ts / client.ts expose the public surface as typed stubs that throw "not implemented yet" until C2…C6 land. No new runtime dependencies (those arrive with C2). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This was referenced Apr 28, 2026
Owner
Author
|
Closing in favor of clean re-issued PR — original branch had cumulative commits from prior tasks that don't apply to current main. Integrator will open a re-issued PR with just C1's specific changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Scaffolds
src/services/luminaCloud/as an empty-but-typed module — the public surface (types, function signatures, barrel) is fixed up front so subsequent tasks (C2…C6) can land independently without churning imports across the codebase.types.tsmirrorscloud/CONTRACT.md§1.1 (license payload), §2.4 (usage response), §6 (error shapes). It also adds the §2.1 verify response, §2.3 models, §2.5 revocations, plus aLicenseStatusderived type for the upcoming Zustand store.PUBLIC_KEY.tsships an obviously-fakeAAA…=placeholder, marked// LEAD: replace with real public key from lumina-cloud T3 output. It is deliberately structured so that any accidental ship-to-prod fails verification immediately.verify.ts,store.ts,revocations.ts,client.tsexpose typed function signatures that thrownot implemented yet (task Cn)until the corresponding tasks land.index.tsis the barrel — re-exports the entire public surface.Acceptance criteria
types.tsmirrorscloud/CONTRACT.md§1.1 license payload + §2.4 usage response + §6 error shapes.index.tsre-exports the public surface.npm run typecheckpasses.How I tested
npm run typecheck: pass (bothtsconfig.jsonandtsconfig.node.json).npm test: skipped — C1 has no test files; nothing imports the new module yet, so existing tests are unaffected.Touched files outside src/services/luminaCloud/
cloud/TASKS.md— marked C1[x]and appended Done-log entry. No other files outsidecloud/PRD.md§3 surfaces touched.Notes for Lead
PUBLIC_KEY_B64is a 32-byte all-zero placeholder. Replace from lumina-cloud T3 output before any real verification ships. C2 will use a fixture keypair so it does not block on T3.LicenseVerifyResponseis exported even though §2.1 is not on the C1 acceptance list — it costs nothing here and saves a follow-up edit when C5 lands.noUnusedParametersis on, so stub bodies use_paramnaming. When C2…C6 implement these, the leading underscore should be dropped along with the throw.