Decisions Log

Curriculum and structural design decisions for the FEAST_edu repository. Each entry documents a choice that shapes how the onboarding program works and why we made it. Future adapters should read these before modifying the pattern.

For the ADR template used in the FEAST application repos, see templates/adr-template.md.


DEC-006: Vision Plans, Cohort Org Fork, Agent-Assisted Triage, and Plan Comparison Activity

Date: 2026-05-19 Status: Accepted

Context: Four gaps were identified in the post-DEC-005 curriculum:

  1. Explore-to-issues gap. Students explore the codebase (solo work Part 1-2) and then file issues (Part 3), but there is no structured step in between where they synthesize what they found into a coherent assessment. The result is scattered issues without a connecting thread. Students also have variable time budgets (4-8 hours for J-tier, 20+ for S-tier), and a single “explore and file issues” assignment does not scale well across that range.

  2. Issue overload risk. Five students each filing 3+ issues creates a backlog of 15+ issues with no organizational structure. Without a way to group and prioritize, the team spends Week 2 sorting rather than working.

  3. Upstream repo constraints. The upstream FEAST repos (ICICLE-ai/Food-Access-Model, fass-frontend) have existing issues, branch history, and permission structures that do not match the onboarding workflow. Students need write access, a clean issue tracker, and the ability to create branches without affecting the upstream project.

  4. Roadmap activity disconnect. The original Week 2 opener was a “Roadmap Activity” where students contributed to a shared ROADMAP.md. But students do not have enough shared context at that point to build a roadmap collaboratively. They need to first discover what each person found individually, then converge on shared priorities.

Decision: Four interconnected changes:

Vision and Improvement Plan homework. Add a structured assignment between exploration and issue filing (Week 1 solo work Part 3). Students choose 3+ investigation areas from a provided table (frontend state, frontend consistency, backend entry points, database access, simulation core, data pipeline, testing), describe the current state with code quotes, propose what it should look like, estimate size, and sequence their improvements with rationale. A template (templates/vision-plan-template.md) scaffolds the work. The plan scales naturally across tiers: J students cover 3 areas with basic observations, S students go deeper with architecture reasoning and dependency-aware sequencing.

Cohort org fork. Before the cohort starts, fork both FEAST repos into a cohort-specific GitHub organization (e.g., FASS-2026-Summer). Students clone from the cohort org. This gives the team a clean issue tracker, write access, and a fresh backlog built from their own vision plans. Clone URLs in the curriculum use [COHORT-ORG] as a placeholder that the instructor replaces when setting up the cohort.

Agent-assisted issue triage. Add area labels (area:frontend-state, area:frontend-consistency, area:backend-entry-points, area:database-access, area:simulation-core, area:data-pipeline, area:testing) to the issue filing guidance. The CLAUDE.md template includes a “Team Priorities” section and “Issue Organization” section that encode the team’s convergence board results and area label schema. Once encoded, agents can help organize and triage issues (e.g., gh issue list --label "area:...") as the backlog grows.

Plan Comparison Activity. Replace the Roadmap Activity at the Week 2 opener with a structured comparison of individual vision plans. Steps: (1) silent read of another student’s plan, (2) round-robin sharing, (3) convergence board (“Everyone noticed” / “Multiple” / “One person”), (4) encode priorities in CLAUDE.md. An instructor prep workflow (docs/instructor-guides/week-2-prep.md) uses an LLM to pre-digest student submissions and pre-populate the convergence board before the session.

Alternatives considered:

Consequences:


DEC-005: Deployment Configuration, Claude Code Planning Workflows, and Agentic Engineering Framing

Date: 2026-05-08 Status: Accepted

Context: Three gaps were identified in the post-DEC-004 curriculum:

  1. Deployment topology. The curriculum covers the three-layer architecture (frontend, backend, database) but never explicitly teaches that these layers are independently deployable and independently configurable. Students encounter configuration confusion piecemeal (CORS errors, client.js hardcoding, .env DB credentials, staging vs. local) without a unifying mental model. The existing setup scaffold walks students through configuration steps but doesn’t explain why those steps matter or what happens when layers point at different environments.

  2. Claude Code planning workflows. The curriculum teaches Claude Code as an explainer (Week 1) and code collaborator (Week 2+), but never covers its structured planning capabilities (/plan, /ultraplan, /ultrareview). These map naturally to existing curriculum themes: “specs before code” (Week 3) and “manual vs. auto-generated artifacts” (Week 4). Without them, the tool progression has a gap between “ask questions about code” and “write code interactively.”

  3. Agentic engineering framing. The curriculum has the right principles (“explain every line,” “write code for future you”) but lacks the vocabulary to name the distinction between disciplined AI-assisted development and undisciplined prompting. The terms “agentic engineering” (using AI tools as collaborators in a disciplined workflow where the developer maintains understanding and ownership) vs. “vibe coding” (prompting, accepting, running) give students a shared language for the approach the curriculum teaches.

Decision: Integrate both topics into existing weeks rather than adding new weeks or sessions.

Deployment configuration:

Planning workflows (commands below are Claude Code-specific; the general pattern of structured planning, multi-issue planning, and branch-level review applies to any CLI agent):

Agentic engineering framing:

Also fixed the environment setup guide (01) for consistency with the curriculum (run_local.py instead of api_server.py, port 8000, client.js instead of VITE_API_URL).

Alternatives considered:

Consequences:


DEC-004: Curriculum Restructuring to Integrate Tooling, Review Pipelines, and Project Management Artifacts

Date: 2026-05-07 Status: Accepted

Context: The original 6-week curriculum treats agentic coding tools, code review, and project management artifacts as mid-to-late topics. Agentic tools get a 5-minute mention in Week 1; structured review starts in Week 3; ADRs appear in Week 4. This pacing means students submit PRs for two weeks with no automated checks and no structured review, and don’t encounter project management frameworks until halfway through. Three specific gaps were identified:

  1. Agentic coding tools. Claude Code is never named or set up. CLAUDE.md is in the templates but not taught. Students have no awareness of the tool landscape (Gemini CLI, Cursor, Copilot).
  2. Automated + human code review. The review pipeline (CI checks, peer review, LLM adversarial review) doesn’t fully exist until Week 3. Weeks 1-2 PRs go through with minimal feedback.
  3. Project management artifacts. ADRs, roadmaps, and the distinction between manually written vs. LLM-generated versions of these artifacts aren’t covered until Week 4, after students have already been making undocumented design decisions.

The overriding design constraint: get students contributing real work as soon as possible. If front-loading more educational content into Weeks 1-2 accomplishes that, the tradeoff is worth it.

Decision: Restructure the curriculum to integrate all three topics earlier, with a progression from manual to tool-assisted:

Week 1 changes:

Week 2 changes:

Week 3 changes:

Week 4 changes:

Week 5 changes:

Week 6 changes:

ADR progression (cross-cutting):

Alternatives considered:

Consequences:


DEC-001: Dedicated Repo for Instructional Materials

Date: 2026-05-06 Status: Accepted

Context: The FEAST project has two application repos (backend, frontend). Instructional materials could live in one of those repos, in a shared wiki, in external docs, or in a dedicated repo. We need a home for the 6-week curriculum, guides, slides, and templates that doesn’t interfere with student development workflows in the code repos.

Decision: Use a dedicated FEAST_edu repo for all instructional materials, separate from the application code.

Alternatives considered:

Consequences:


DEC-002: Progressive LLM Usage Model

Date: 2026-05-06 Status: Accepted

Context: Students range from freshmen to seniors. LLM code generation tools can shortcut the learning process. Anthropic’s 2026 RCT with 52 junior engineers found that students who delegated code generation early scored 17% lower on comprehension. We need a policy that lets students benefit from LLMs without skipping skill-building.

Decision: Restrict LLM usage in early weeks and progressively unlock capabilities:

The constant across all weeks: “You must be able to explain every line in your PR without looking at your chat history.”

Alternatives considered:

Consequences:


DEC-003: Built-in Project Management as Pedagogical Pattern

Date: 2026-05-06 Status: Accepted

Context: We want this curriculum to be adaptable for other projects and domains. Beyond the content itself, the repo structure and development workflow should be something others can copy. We also want to practice what we preach: if we tell students to use CLAUDE.md and track decisions, the repo that teaches them should do the same.

Decision: Use CLAUDE.md, ROADMAP.md, DECISIONS.md, and a post-commit hook in this repo. Track the development of the instructional materials using the same lightweight workflow we teach students to use in the FEAST repos.

Alternatives considered:

Consequences: