spec+plan: consent-first, role-aware tutoring uplift (#8-#11)#12
Conversation
…gue /think + /spec-to-plan) Converged frame (27 claims, 17 honesty conditions) and 18-task/8-wave plan covering the four roadmap issues: #10 consent gate (both sign-in paths, no D1 write pre-consent), #11 versioned /learn-local Terms + Privacy, #8 roles + admin allow-list + approval-gated Bedrock-direct tutoring (Nova Pro via the OpenAI-compatible endpoint, Nova Sonic 2 via a serverless league-pattern voice bridge), #9 cloze contract kind + upstream content re-export. User decisions recorded in the frame: Bedrock-direct (no sibling model host), /learn-local policy docs, serverless-only plumbing (no EC2), consent+docs ship before any tutoring approval. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014QpvZY8K67Q9uGA6keFhTz
|
/agentic_review |
PR Summary by QodoAdd consent-first, role-aware tutoring uplift spec + build plan (#8-#11)
AI Description
Diagram
High-Level Assessment
Files changed (8)
|
|
Code Review by Qodo
Context used✅ Tickets:
🎫 Learn: explicit user consent before saving learner data (consent gate + right to delete) 🎫 Learn content: strengthen curriculum upstream (french/spanish/culture-guide) + cloze exercises, then re-export 🎫 Learn: Terms of Use + Privacy Policy pages (versioned, linked from /learn, disclose Bedrock processing)✅ Compliance rules (platform):
9 rules 1. Doctor command inconsistent
|
| - covers: c13, h5 | ||
| - acceptance: | ||
| - Signed-in non-approved POST /api/tutor gets 403 with ZERO outbound inference requests — extends the existing signed-out ordering test one level (h5) | ||
| - Approve/revoke is admin-only (allow-list enforced) and takes effect without re-login; learn admin verbs pass teken cli doctor --strict (explain catalog entries included) |
There was a problem hiding this comment.
1. Doctor command inconsistent 🐞 Bug ⚙ Maintainability
The new build plan documents teken cli doctor --strict, while other repo docs use `teken cli doctor . --strict`, creating inconsistent contributor guidance for running the rubric gate. This PR adds a new instance of the inconsistent form in both the human plan markdown and the exported devague plan JSON.
Agent Prompt
### Issue description
`docs/plans/2026-07-11-agentculture-org-learn-is-now-a-consent-first-role.md` (and the mirrored exported `.devague` plan JSON) uses `teken cli doctor --strict`, while other project docs (README/CLAUDE) commonly use `teken cli doctor . --strict`. This inconsistency makes it unclear what the canonical invocation is.
### Issue Context
The plan markdown and `.devague/plans/*.json` should be kept consistent with the repo’s established contributor instructions.
### Fix Focus Areas
- docs/plans/2026-07-11-agentculture-org-learn-is-now-a-consent-first-role.md[76-76]
- .devague/plans/agentculture-org-learn-is-now-a-consent-first-role.json[312-314]
### Suggested change
Update the plan text (and matching JSON) to use the same invocation as the Quickstart docs (e.g., `uv run teken cli doctor . --strict` or at least `teken cli doctor . --strict`), so all contributor instructions match.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



What
The converged devague spec + 18-task build plan for the next /learn uplift, covering all four roadmap issues as one coherent phase: #8 (roles + approval-gated Bedrock tutoring), #9 (cloze contract kind + upstream content re-export), #10 (consent gate — the live gap), #11 (versioned Terms of Use + Privacy Policy).
docs/specs/2026-07-11-agentculture-org-learn-is-now-a-consent-first-role.md— the spec (27 claims, 17 confirmed honesty conditions, 3 nonblocking parked items)docs/plans/2026-07-11-agentculture-org-learn-is-now-a-consent-first-role.md— the plan (18 tasks, 8 dependency waves, 5 recorded risks).devague/frames/+.devague/plans/— the converged state (evidence trail for every confirmed claim)User decisions recorded in the frame
Key spec calls
handleCallbackAND device-flow poll both callupsertLearnertoday with no consent step)./api/tutoris 403 with zero outbound inference.Refs #8, #9, #10, #11. Spec/plan produced with /think + /spec-to-plan (devague 0.17.0); parked-vagueness resolutions hand-edited into the frame JSON per the known devague CLI gap.