Replies: 3 comments 3 replies
|
@Santiagocetran — hold off on this task for now, something's pending on my side first. I'll take care of it and update the task file once it's done. Pending on my side:
I'll post the review on #20 directly, then come back here with the go-ahead (or any scope adjustments) on task_220726_7. |
|
Progress update on ✅ Part A landed — SDK
|
|
Part B landed — ✅ Part B — daemon preferences + capability detection (#21, PR #32)Pushed to
Task status
Both PRs remain drafts pending review. Ready for feedback whenever. |
Uh oh!
There was an error while loading. Please reload this page.
cc @Santiagocetran
Task assigned for Jul 22–28, 2026 (5 working days; deadline Tuesday, July 28). Full spec:
Developer/tasks/task_220726_7.mdThe task file has the full specification — exact module layouts, function signatures, storage/command shapes, and test plan. This post is just the summary and assignment notice.
Summary
This continues the work already visible in draft PRs #31 (
feat/din-sdk) and #32 (feat/din-daemon) — reviewed directly against those branches, not just the PR descriptions, which lag the actual commits (errors.pyandmanifest.pyare further along than PR #31's body currently states).Per
Developer/design/sdk-interface-proposal.md§8's proposed layout, the SDK still needssession.py,wallet.py,state.py,serialize.py,tx.py,worker.py, and theoperations/layer — too much for one week, and the biggest pieces touch private-key/keystore handling directly. This task deliberately splits off the two lowest-risk, self-contained slices:Part A (#20, SDK):
dincli/sdk/state.py(GI-state enums/converters +validate_*predicates, extracted fromcli/utils.pythe same way the two prior waves extractedipfs/contracts/manifest/runtime) anddincli/sdk/serialize.py(theto_envelope()+ JSON-encoder contract from proposal §3 — uint256-as-string, bytes→hex, enums→name, etc.).Part B (#21, daemon): preferences (
dind preferences show/set, P4-2.1) and hardware-only capability detection (dind capabilities, P4-2.2 — CPU/RAM/disk/GPU-presence plus a bare reachability probe for RPC/IPFS, not a live session call), extending the existing/healthresource block rather than duplicating it.Deliberately not in this task:
wallet.py/session.py(DinSession,SignerProvider) andtx.py'ssend()keystone — the private-key/signing surface from proposal §2/§5b. That's flagged as the next task, with its own review pass given the sensitivity, rather than bundled in alongside unrelated daemon work. See the task file's "Scope boundaries" section for the full list of what's explicitly out.Reference material
Developer/design/sdk-interface-proposal.md— §2 (session/signer, next task), §3 (envelope, this task), §5b (tx keystone, next task), §8 (package layout)If anything in the task spec feels ambiguous, or you think of a better strategy for slicing this than what's written — say so in this thread, don't just silently deviate. cc @umeradl.
All reactions