Skip to content

feat: interactive autograded starter workspace (Module 10 — AI Software Engineering) - #1

Open
IshmaelRogers wants to merge 1 commit into
mainfrom
feat/interactive-workspace
Open

IshmaelRogers wants to merge 1 commit into
mainfrom
feat/interactive-workspace

Conversation

@IshmaelRogers

Copy link
Copy Markdown

Summary

Converts Module 10 (AI Software Engineering) from LMS lesson content into a self-contained, interactive autograded starter workspace, mirroring the approved Module 04 template (vitest + strict TypeScript).

Students clone, read each exercise's README.md, implement the // TODOs in its src/, run npm test, and submit. The tests are the spec — red → green — and no answer keys are shipped.

What changed

  • Removed all LMS markdown (Lessons, learner/instructor guides, syllabus, rubric, dashboard) and the flat lab markdown + labs/aitools.mjs (which contained full working reference implementations). Kept resources/, .devcontainer/, and the assignments/*submission-template*.md files.
  • Toolchain copied from Module 04: package.json, tsconfig.json, vitest.config.ts, scripts/grade.mjs, .github/workflows/autograde.yml, .gitignore. The grader's strict type gate now uses the root tsconfig.json only (no Module 04 lab-06 strict pair).
  • 8 lab folders + capstone, each self-contained (README.md, src/ stubs with // TODO, tests/ executable spec):
Exercise You implement
labs/lab-00-setup formatCents
labs/lab-01-context-engineering contextComplete
labs/lab-02-architecture-prompting checkArchitecture (fitness function)
labs/lab-03-ai-assisted-tdd slugify (test-first)
labs/lab-04-code-review applyDiscount (find & fix the planted bug)
labs/lab-05-refactoring total (characterization)
labs/lab-06-orchestration runWorkflow / actionInScope
labs/lab-07-security-governance scanForSecrets / detectInjection / governanceGate
assignments/capstone reviewChange — integrates context + architecture + governance

The capstone's reviewChange returns { approved, reasons } (approved only when context is complete and architecture conformant and governance passes), with a *.test-d.ts for the result type.

Verification

  • Stub state: node scripts/grade.mjs12/39 tests (31%), exit 1 (RED). Strict type-check clean. (The 12 passing are degenerate/empty-input cases plus the capstone type assertions; every exercise shows ❌.)
  • Reference solution (implemented in a throwaway temp dir, then deleted): 39/39 tests (100%), exit 0, strict type-check clean.

Notes

  • All src/*.ts are strict-TS-compilable stubs returning wrong/empty values — no any, no as, no @ts-ignore.
  • Lab 04's stub deliberately embodies the naive buggy price - price*pct so the review tests fail until clamped.
  • Per-lesson and capstone written reports are still submitted via the LMS using the assignments/*submission-template*.md files (not autograded here).

Replace the LMS lesson content with a self-contained, vitest + strict-TypeScript
work-along workspace mirroring the approved Module 04 template.

- Remove LMS markdown (Lessons, guides, syllabus) and the shipped reference
  implementations in labs/aitools.mjs; src/ files are stubs (TODO) that fail red.
- Add 8 lab folders (lab-00..lab-07) + capstone, each self-contained with
  README.md, src/ starters, and tests/ as the executable spec.
- Reuse the Module 04 toolchain (package.json, tsconfig, vitest.config, grade.mjs,
  Autograde workflow); grader type gate uses the root tsconfig only.
- Capstone reviewChange integrates context-completeness + architecture fitness +
  governance into one verdict, with a type-level test for the result shape.

Verified: stub state 12/39 (31%, exit 1); reference solution 39/39 (100%, exit 0),
strict type-check clean. No answer keys shipped.
@github-actions

Copy link
Copy Markdown

Forge SWEXP — Module 10 autograde

Score: 12/39 tests (31%) · Strict type-check: ✅ clean

Exercise Tests Status
assignments/capstone 3/9
labs/lab-00-setup 0/3
labs/lab-01-context-engineering 1/4
labs/lab-02-architecture-prompting 2/3
labs/lab-03-ai-assisted-tdd 0/2
labs/lab-04-code-review 1/3
labs/lab-05-refactoring 1/3
labs/lab-06-orchestration 1/4
labs/lab-07-security-governance 3/8

Keep going — open each exercise folder, implement the // TODOs in its src/, and run npm test. The tests in each tests/ folder are the spec.

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