feat: persist policy-evaluated completion decisions - #8
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Please perform an independent review of the exact current head |
seonghobae
left a comment
There was a problem hiding this comment.
Current-head review request for 3137d34. Re-verify the exact-head diff, required Checks, tenant/security boundaries, and any valid review findings after the shared Rust component-install fix. COMMENT only; no approval or protected-merge bypass is requested.
# Conflicts: # .github/workflows/quality.yml # CHANGELOG.md # README.md # docs/ARCHITECTURE.md
|
Current-head review request for |
| "http://127.0.0.1:8080/v1/tenants/$tenant_id/learners/$learner_id/attempts/$attempt_id/progress")" = '400' | ||
| test "$(psql --host 127.0.0.1 --username lms_kernel --dbname lms_kernel_test \ | ||
| --tuples-only --no-align --command "SELECT count(*) FROM progress_projection WHERE tenant_id = '$tenant_id' AND learner_id = '$learner_id'")" = '1' | ||
| policy_id=$(curl --fail --silent --show-error --request POST \ |
| --data '{"policy_name":"Completion CI"}' \ | ||
| "http://127.0.0.1:8080/v1/tenants/$tenant_id/completion-policies" \ | ||
| | python3 -c 'import json, sys; print(json.load(sys.stdin)["completion_policy_id"])') | ||
| revision_id=$(curl --fail --silent --show-error --request POST \ |
| --data '{"revision_number":1,"required_evidence_kinds":["activity"]}' \ | ||
| "http://127.0.0.1:8080/v1/tenants/$tenant_id/completion-policies/$policy_id/revisions" \ | ||
| | python3 -c 'import json, sys; print(json.load(sys.stdin)["completion_policy_revision_id"])') | ||
| evidence_id=$(curl --fail --silent --show-error --request POST \ |
| --data '{"evidence_kind":"activity","source_authority":"lrs","source_snapshot_reference":"snapshot-ci-1","source_digest":"sha256:ci-evidence","source_version":"v1"}' \ | ||
| "http://127.0.0.1:8080/v1/tenants/$tenant_id/learners/$learner_id/registrations/$registration_id/evidence" \ | ||
| | python3 -c 'import json, sys; print(json.load(sys.stdin)["decision_evidence_reference_id"])') | ||
| curl --fail --silent --show-error --request POST \ |
Summary
Evidence
actionlint .github/workflows/quality.ymlcargo +1.97.1 fmt --all -- --checkcargo +1.97.1 test --workspace --all-targets --locked(6 domain tests passed)cargo +1.97.1 clippy --workspace --all-targets --locked -- -D warningsRUSTDOCFLAGS='-D warnings' cargo +1.97.1 doc --workspace --no-deps --lockedNOSUPERUSER NOBYPASSRLSrole: registration, policy, revision, evidence, and completion decision returned successfully; the decision status wascompletedand one decision row persisted32439260438, SAST32439260436, Security32439260417, OpenCode32439259302, Noema32439259338, Strix32439259314, scheduler32439259385, Close Empty PR32439259247Scope boundary
This is the policy/evidence/completion persistence slice of issue #3. Assessment integration, credential issuance, released external contracts, browser E2E, provenance/observability, hot partitions, and production readiness remain follow-up work.
Review request
Please review commit
cb649e9fa3ec15e408e91da94ce6c743217cd12cas the exact current head against base00269c3fadba66596e696f544fcbd5b78540c54d. Do not treat local or green CI checks as semantic approval.