Skip to content

feat: add M02 learning lab candidate slice - #7

Open
tim8es wants to merge 5 commits into
baseline/m01-learning-lab-2026-09-07from
feature/m02-learning-lab
Open

feat: add M02 learning lab candidate slice#7
tim8es wants to merge 5 commits into
baseline/m01-learning-lab-2026-09-07from
feature/m02-learning-lab

Conversation

@tim8es

@tim8es tim8es commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Purpose

Prepare the M02 Learning Lab candidate using the M01 contract while keeping it inactive in production until the M01 cohort gate explicitly records Promote to Phase 2.

Baseline

  • source baseline: baseline/m01-learning-lab-2026-09-07 @ 16fcbb1b7d41a8e3f7e01f8fcdbaeb93d13033b7
  • current production Pages remains M01-only; M02 is not loaded by production index.html

M02 candidate slice

Outcome до output

  • Outcome chain technique
  • cold decision drill + option-specific feedback
  • worked example
  • independent exit drill
  • persistent outcome-chain workbook
  • real-project transfer prompt
  • shared substantive completion gate

Карта допущений

  • Risk-weighted assumption map technique
  • cold decision drill + option-specific feedback
  • worked example
  • independent exit drill
  • persistent assumption-risk workbook
  • real-project transfer prompt
  • shared substantive completion gate

Implementation

Candidate-only data extension:

  • m02-learning-lab-data.js contains the M02 lab contract
  • production index.html intentionally does not load it before cohort promotion
  • no M02 changes to app.js, router, CSS, storage key, or telemetry

TDD

Initial M02 contract:

  • RED: Prototype CI #100 (34115995511) — 31 pass / 3 expected failures before implementation
  • GREEN: Prototype CI #102 (34116195348) — 34/34 pass

Production-isolation repair:

  • RED: Prototype CI #106 (34123307434) — confirmed candidate activation in production entry point
  • GREEN: Prototype CI #108/#109 on 3a52363d3912610cddba216fbacaef464c9df656

Guardrail

Issue #4 (Phase 1: run M01 learner validation cohort) is still open with no recorded Promote decision. Do not activate/publish M02 until that gate is satisfied.

Before future promotion, rebuild/reconcile this candidate against the latest M01 production baseline, including the completion-integrity fix shipped after this branch was created.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b752e57f60

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.html Outdated
<script src="content-overrides.js"></script>
<script src="m01-validation-data.js"></script>
<script src="m01-learning-lab-data.js"></script>
<script src="m02-learning-lab-data.js"></script>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep the candidate M02 lab out of the production entry point

Loading this script from index.html activates the candidate M02 experience for every learner as soon as the commit reaches main: the checked .github/workflows/pages.yml deploys the repository root on every push to main (lines 4–5 and 28–31). This contradicts the commit's stated guardrail and bypasses the still-open cohort gate in docs/ROADMAP.md; keep the script out of the deployed entry point until the explicit Promote decision, or load it only through an isolated preview.

Useful? React with 👍 / 👎.

Comment thread index.html Outdated
<script src="content-overrides.js"></script>
<script src="m01-validation-data.js"></script>
<script src="m01-learning-lab-data.js"></script>
<script src="m02-learning-lab-data.js"></script>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Revalidate legacy M02 completions when enabling the lab

For any returning learner who completed either M02 lesson under the previous checkbox flow, this line enables the new lab while leaving the same lesson ID in pm01-state-v1.completed. app.js then sets done solely from that array (line 297), and renderLearningLab renders the continue link for a completed lesson regardless of labReady (lines 258–260), so these lessons remain reported as completed with zero required drills or workbook fields and are skipped by normal progression. Migrate or invalidate legacy M02 completion records when activating the new completion contract.

Useful? React with 👍 / 👎.

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