Skip to content

Harden verification and automate judge-verifiable Canton delivery - #8

Merged
Saidur-droid merged 145 commits into
mainfrom
fix/verified-delivery-20260929
Oct 7, 2026
Merged

Saidur-droid merged 145 commits into
mainfrom
fix/verified-delivery-20260929

Conversation

@Saidur-droid

@Saidur-droid Saidur-droid commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

Scope

Judge-verifiable HackCanton Season 3 delivery for CommitLedger: canonical GitHub evidence -> role-authorized Daml/Canton workflow -> inspectable settlement receipt.

Current verified candidate

Executed proof on the exact current head

Render provider-side execution completed successfully:

  • Node suite: 86/86 passed
  • DPM 3.5.12: PASS
  • Daml build: PASS
  • Daml Script tests: PASS
  • Fresh local Canton sandbox: ready
  • Real GitHub fixture: Saidur-droid/MergeEarn#69 -> merged PR #73
  • Six ledger transitions: PASS
  • Wrong-evidence rejection: captured
  • Unauthorized-settlement rejection: captured
  • Duplicate/replay rejection: captured
  • Evidence validation: PASS
  • EXIT STATUS: 0
  • SUCCESS: VERIFIED EVIDENCE

The deployed judge page now exposes the read-only source-bound proof bundle at /api/proof, including six ledger steps, the SettlementReceipt, package ID, source commit, merge evidence and all three structured negative checks.

Judge-facing QA

Public page was fetched successfully in both desktop and mobile modes after deployment.

Verified visible state:

  • current fixture GitHub #69 -> PR #73;
  • runtime marked VERIFIED rather than the old stale BLOCKED state;
  • Node and Daml/Canton proof marked PASS;
  • exact source commit displayed;
  • six ledger transitions rendered;
  • DEMO_CREDIT disclaimer preserved;
  • external competition gates remain fail-closed.

Integrity / scope

  • The Canton sandbox is ephemeral during the Render proof build; the public service exposes the resulting verified proof bundle and does not claim a persistent production Canton network.
  • DEMO_CREDIT is non-production test value.
  • No MainNet, fiat/Canton Coin transfer, custody, revenue, customer traction or organizer endorsement is claimed.
  • The older Render service commitledger-proof is a discarded/dummy duplicate and is not the canonical delivery.

Remaining submission-side gates

Technical/runtime delivery is green. These external/publication gates remain before final competition submission:

  • final <=5-minute video recorded and reviewed;
  • repository made public/accessible to a logged-out judge at the chosen final point;
  • final video/pitch/project/evidence links published and tested logged-out;
  • AppsFactory Mana/activity/profile/journal/team/eligibility requirements verified;
  • pre-existing-work / hackathon-period disclosure reviewed;
  • final portal submission reviewed and receipt retained.

See docs/NEXT_SESSION_HANDOFF.md, docs/FINAL_CHECKLIST.md, and docs/SUBMISSION_DRAFT.md for the handoff.

Bind exact issue references and canonical merge commits; classify ledger rejections; add lifecycle/server regression tests, proof export UI, local DPM/Canton automation, CI and submission drafts.

Local Node verification: 65 tests passed. Daml, live Canton, browser QA, final video and official submission gates remain explicitly unverified.

Copy link
Copy Markdown
Owner Author

Actual CI attempt for delivery commit

Commit: 202693cbc10d835166fe3bf6240fa56e529ff1cd.

The new push and pull-request triggers both fired. PR run: https://github.com/Saidur-droid/CommitLedger/actions/runs/36562746593

All three jobs (node, canton-proof, repository-gates) finished with failure and returned no executed step summaries. The Canton job log download returned 404 BlobNotFound; no Daml/Canton log or proof artifact was produced. The connector does not expose the check-annotation endpoint required to inspect the platform's detailed failure reason. Do not infer a billing or code error without that evidence.

Local execution earlier in this task passed the original 16 Node tests and the expanded 65 Node tests. This is distinct from CI and from real Canton execution.

Required unblock: a permitted, internet-connected development machine (the suggested Remote Desktop Commander connection is not yet approved/connected), or an operational GitHub runner. Run bash scripts/bootstrap-dpm.sh and bash scripts/run-local-proof.sh there. The scripts stop on errors; successful real ledger evidence must be retained before marking this PR ready.

No repository visibility, billing, or production credential settings were changed. This PR remains draft; issue #4 remains open.

Copy link
Copy Markdown
Owner Author

HackCanton S3 competition-ready delivery update — 2026-09-29

Current head: 3c420168453ac68f9dd1bde57e63106e29aaaeb9.

Completed on this branch:

  • Live Season 3 rules were converted into a binding competition-ready spec and implementation plan.
  • Added fail-closed competition readiness engine (PASS / BLOCKED / FAIL) with mixed-run/source-commit rejection.
  • Added Track 1 business brief, pilot plan, AI disclosure, hackathon-period work disclosure, updated submission draft and final checklist.
  • Added official judging-criteria + competition-readiness panels to the judge UI; new static UI tests were written RED first and pass locally in the isolated test fixture.
  • Created a Figma judge-flow design with desktop/mobile evidence-first states; runtime-sensitive states remain BLOCKED/Awaiting real proof.
  • Created a Linear delivery project with Compliance, Runtime Proof, Judge UX and Submission Package milestones and rule/evidence issues.

Still not proven:

  • Full Node suite on this newest head (previous expanded suite was 65/65 before these additions).
  • DPM/Daml build/tests on this newest head.
  • Real Canton lifecycle and specific negative rejection evidence.
  • Browser QA against the actual running app and final <=5 minute video.
  • External AppsFactory gates (Mana/activity/journal/profile) and public repository/materials, intentionally deferred by owner.

Remote Desktop Commander was connected earlier but the development device is currently offline, so real Canton execution cannot be truthfully completed in this session. Keep this PR draft until those runtime gates pass.

Copy link
Copy Markdown
Owner Author

2026-09-30 verified technical handoff

Technical runtime work is green on the proven candidate commit:

722df9f69458cba0080d687105b4a0fb00f5c4d6

Canonical Render service: commitledger-proof-final
Live URL: https://commitledger-proof-final.onrender.com
Successful Render deploy: dep-daucnqff3r2c73ep69u0
Deploy status: live.

Verified on the provider-side proof path:

  • Node suite 86/86 passed.
  • DPM 3.5.12 installed/ran.
  • Daml build passed.
  • Daml Script tests passed.
  • Fresh Canton sandbox became ready.
  • Built DAR package identity was derived from the DAR.
  • Three distinct demo parties were allocated.
  • Real GitHub fixture: MergeEarn issue #69 (open) + PR #73 (merged).
  • Full Issue -> Bounty -> Claim -> PR -> Verify -> Settle -> SettlementReceipt lifecycle completed.
  • Wrong-evidence, unauthorized-settlement, and duplicate/replay rejections were captured.
  • Evidence was bound to the exact source commit.
  • Render build succeeded and the judge-facing web service deployed live.

The similarly named commitledger-proof Render service is an older dummy/duplicate and is not the canonical delivery.

What remains

This is now submission-preparation work, not runtime-debugging work:

  1. desktop + mobile browser QA;
  2. final secrets/publication review;
  3. final <=5-minute demo video;
  4. public repository/material links for judges;
  5. logged-out/private-window link testing;
  6. AppsFactory Mana/activity/profile/journal/team/eligibility gates;
  7. final submission and retained receipt.

Authoritative handoff is now committed in:

  • docs/DELIVERY_STATUS.md
  • docs/FINAL_CHECKLIST.md
  • docs/NEXT_SESSION_HANDOFF.md

Next session should begin by reading docs/NEXT_SESSION_HANDOFF.md. Do not restart the old desktop/GitHub Actions debugging unless new evidence requires it.

PR intentionally remains draft until the submission-side gates are completed.

@Saidur-droid
Saidur-droid marked this pull request as ready for review September 30, 2026 16:55

Copy link
Copy Markdown
Owner Author

2026-09-30 judge-facing proof + QA update

Current exact head: 26bd992787401f6458f6685d2ab76aacd05eab4e

Canonical Render deploy: dep-daujs4m0tbcc73dn0c80 — live.

Exact-head provider proof markers:

  • STAGE 5/6: Real Canton lifecycle: PASS
  • STAGE 6/6: Evidence validation: PASS
  • EXIT STATUS: 0
  • SUCCESS: VERIFIED EVIDENCE
  • Render build successful

Judge-facing fix:

  • removed stale GitHub #5 -> PR #6 / Runtime BLOCKED UI;
  • current fixture is MergeEarn #69 -> PR #73;
  • added read-only /api/proof endpoint backed by the exact build artifacts;
  • page now renders all six Canton transitions, SettlementReceipt, package ID, exact source commit, merge evidence and all three structured negative checks;
  • explicitly states the build-time Canton sandbox is ephemeral and does not claim a persistent production ledger.

Public QA completed after deploy:

  • desktop fetch: HTTP 200;
  • mobile fetch: HTTP 200;
  • /api/proof: HTTP 200;
  • source commit in proof and verification both equal 26bd992787401f6458f6685d2ab76aacd05eab4e;
  • visible runtime state is VERIFIED;
  • Node and Daml + real Canton proof show PASS;
  • external submission gates remain fail-closed.

PR #8 is now ready for review and mergeable.

Remaining work is external/submission-side only: final <=5-minute video, public repository access, final public submission links, AppsFactory account gates, final portal submission and retained receipt.

@Saidur-droid
Saidur-droid merged commit 811a528 into main Oct 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant