2026 07 23 Developer 0001¶
π― Session Summary¶
I walked a 5-quest window (window 2 of 6) of the Developer / Level 0001 "Web Fundamentals" (π± Apprentice) slice as a learner would: create a first site, understand the stack, and make it discoverable. The sealed execute-engine evidence (walk-evidence.json, real sandbox commands, not a mock) scored the window at avg 50.2% β 0 pass / 2 warn / 3 fail, and my read-through of the linked chain agrees: the headline verdict is fail for this window.
The two quests that teach doing (seo-optimization 73%, self-operating-website-01-the-summoning 66%) are fundamentally sound and were verified against real Jekyll 4.4.1 builds β each has one specific, reproducible plugin-wiring bug that a maintainer can fix in a line or two. The other three drag the window down for different reasons: github-pages-portal (48%) has a Jekyll chapter with several confirmed failures, it-journey-stack-analysis (48%) is a reading report mislabeled as a hands-on quest, and personal-site (16%) is effectively a stub β an unedited link table with no steps and no code. Beyond the per-quest scores, the biggest learner-journey problem is that this window is not a coherent chain: dependencies are empty across the board, two "side quests" are inert, and the-summoning silently demands prerequisites (a finished prequel epic + a Claude Code OAuth token) that nothing in this Apprentice level provides.
πΊοΈ The Journey¶
Walked in planner order (walk-plan.json):
| # | Verdict | Quest | Score | One-line takeaway |
|---|---|---|---|---|
| 1 | β fail | The GitHub Pages Portal: Forging Your Digital Realm | 48 | Golden path (static HTML β Pages) is clear, but the Jekyll chapter has multiple confirmed build failures + two objectives ticked-off yet never taught. |
| 2 | β fail | Stack Attack Analysis: IT-Journey | 48 | A well-written stack report, not a hands-on quest: auto-seeded objectives, mislabeled code fences, and a Quick Start that can't run. |
| 3 | β fail | Build a Personal Website with GitHub Pages | 16 | A stub β an unedited table of a personal site's service links, zero steps, zero code, factual errors, unrendered Liquid. |
| 4 | β οΈ warn | The Summoning: Raise the Site and Give It a Voice | 66 | Brand-as-data + session-scribe verified working end-to-end; Chapter 1's site build fails as written (missing jekyll-include-cache). |
| 5 | β οΈ warn | SEO Optimization: Meta Tags, Sitemaps & Structured Data | 73 | Technically accurate and build-verified; bundle add alone never generates /sitemap.xml (plugin-group/config step missing at that point). |
π¬ Evidence¶
All command outcomes below are quoted/summarised from the sealed walk-evidence.json (mode=execute, real sandbox). "reasoned" marks items the engine judged statically; my own chain observations in Β§6 are separately labelled.
1. github-pages-portal.md β 48% β (ran 14/11 runnable snippets Β· 10 passed Β· 4 failed Β· 3 skipped Β· 5 reasoned)¶
- passed β multi-platform
index.htmlcreation (macOS echo-heredoc, Windows pwsh here-string, Linuxcat << 'EOF') all produced byte-identical output;git add/commitworked in a local sim repo; full styledindex.htmlparsed cleanly with Python'shtml.parser. - failed β
gem install jekyll bundler(Ch3 s1):Gem::FilePermissionError: You don't have write permissions for the /var/lib/gems/3.2.0 directoryβ the classic Jekyll-on-Linux failure, with no workaround given. - failed β
jekyll new . --force(Ch3 s2): scaffolds, but autobundle installhits the same permission error, and once fixed produces a realConflict: ... shared by multiple files - index.markdown / index.htmlbecause the Chapter-1index.htmlis still present. - failed β "Update
index.md" (Ch3 s5):jekyll new .actually generatesindex.markdown; following the instruction literally edits the wrong file. - passed-but-flagged β the
github-pagesGemfile silently downgraded Jekyll 4.4.1 β 3.10.0;_config.ymlbuild succeeded while silently ignoring the fabricatedhighlander: truekey. - skipped β
git push(no real remote/creds); both Mermaid renders (headless-Chrome libs missing β syntax reviewed valid).
2. it-journey-stack-analysis.md β 48% β (ran 14/8 runnable Β· 8 passed Β· 6 failed Β· 2 skipped Β· 1 reasoned)¶
- passed β the genuine code fragments hold up: two Gemfiles pass
ruby -c; four YAML blocks parse viayaml.safe_load/docker compose config; the Dockerfile builds; the Mermaid architecture diagram renders. - failed β the Quick Start block (
docker-compose up/bundle install/jekyll serve/python3 test/quest-validator/quest_validator.py) fails as written:docker-compose(v1) is absent (onlydocker composev2 exists), and every path errors "no such file or directory" because the quest never tells the learner togit clonethe repo first. - failed β four mislabeled fences: two
python and oneruby block are actually dependency-listing prose (raiseSyntaxErrorwhen run under their stated language), and a ```bash block is really YAML. - failed β the
LinkHealthGuardianclass instantiation raisesAttributeError: ... no attribute '_check_lychee'β architecture pseudocode presented as runnable.
3. personal-site.md β 16% β (0 runnable snippets Β· 1 skipped Β· 1 reasoned)¶
- skipped β scan for fenced code blocks:
grep '```'returned zero matches β nothing to run. - reasoned β 9 unrendered
{% raw %}{{ site.* }}{% endraw %}Liquid tags in the body; content was pasted from a live Jekyll config without adaptation. Factual errors confirmed by inspection: row 32 lists jekyllrb.com as a "Comments service" (duplicating Disqus), rows 22/26 give the same URL two contradictory hosts, row 24 uses the retired.netlify.comdomain.
4. self-operating-website-01-the-summoning.md β 66% β οΈ (ran 10/3 runnable Β· 9 passed Β· 1 failed Β· 2 reasoned)¶
- failed β
bundle exec jekyll build --tracewith exactly the quest's_config.yml/Gemfile:Liquid::SyntaxError: Unknown tag 'include_cached' in .../_layouts/root.html. The referencedbamr87/zer0-mistakestheme needsjekyll-include-cache, which the quest never installs β so a learner following Chapter 1 verbatim gets neither a local nor a CI build. - passed (the fix, verified) β adding
gem "jekyll-include-cache"to:jekyll_pluginsmakesbundle install+jekyll buildcomplete cleanly (only benign upstream Sass deprecation warnings). - passed β brand-as-data works: after wiring
{% include voice.html %},_site/index.htmlrendered<p class="tagline">A site that learns to operate itself.</p>plus the<li>values.scripts/session-scribe.shwas exercised in three real git states (0, 1, 2 commits) and produced a valid dated dispatch each time underset -euo pipefail. - reasoned β the Actions workflow (valid YAML) omits
--baseurl "${{ steps.pages.outputs.base_path }}"; a plausible project-page asset-path gap, not runnable in-sandbox.
5. seo-optimization.md β 73% β οΈ (ran 11/5 runnable Β· 10 passed Β· 1 failed Β· 4 skipped)¶
- passed β built a real Jekyll 4.4.1 + minima site;
_config.ymlparses, JSON-LDArticlepassesjson.loads, the{% seo %}include matches minima-2.5.2'shead.htmlalmost verbatim and auto-emits JSON-LD, robots.txt is well-formed. - failed β the confirmed functional bug: after
bundle add jekyll-seo-tag jekyll-sitemapalone,bundle exec jekyll buildproduced no_site/sitemap.xml. jekyll-seo-tag only loaded because minima depends on it; jekyll-sitemap has no such backdoor. Verified two fixes (add to_config.ymlplugins:, or move gems into the Gemfile:jekyll_pluginsgroup) β but that step only appears later in Chapter 2 and isn't linked back to the setup block, contradicting the quest's own "Visit /sitemap.xml" verification note. - skipped β macOS-only
sips/imageoptimand the Windows pwsh path (correct OS-scoping, not bugs); livejekyll serveport bind denied by sandbox β verified viajekyll build+ file reads instead.
π Issues Found¶
Grouped by severity. [tested] = witnessed by a sandbox command in Β§2/Β§4; [reasoned] = observed statically by reading the quest source (I did not execute it).
High¶
- [tested]
personal-siteis not a quest. No fenced code, no steps, objectives are the auto-seeded placeholder with the visible authoring note. Where: whole file. Fix: replace with real steps (create<username>.github.iorepo β add scaffold β enable Pages β verify URL), or reclassify; at minimum fix the jekyllrb.com/"Comments service" error and the.netlify.comβ.netlify.appupdate. - [tested]
the-summoningChapter 1 build fails as written β missingjekyll-include-cachecausesLiquid::SyntaxError: Unknown tag 'include_cached'. Where: Ch1 Gemfile/_config.yml. Fix: addgem "jekyll-include-cache"to:jekyll_plugins(verified one-line fix). - [tested]
seo-optimizationsitemap never generates from the "Choose Your Adventure Platform" block. Where: all three OS paths'bundle add ...; jekyll serve. Fix: add a_config.ymlplugins:line (or Gemfile:jekyll_pluginsgroup) immediately afterbundle add, beforeserve. - [tested]
github-pages-portalJekyll chapter fails on a standard Linux setup βGem::FilePermissionErrorwith no workaround, and anindex.htmlβindex.markdownbuild conflict carried from Chapter 1. Where: Ch3 s1βs2. Fix: note--user-install/rbenv/bundle config set path, and warn to remove the Chapter-1index.htmlbeforejekyll new . --force. - [tested]
github-pages-portalindex.mdvsindex.markdownfilename bug. Where: Ch3 s5. Fix: referenceindex.markdown(whatjekyll newactually creates). - [tested]
it-journey-stack-analysisQuick Start can't run β assumes a cloned repo (no clone step) and Compose v1. Where: "Local Development" block. Fix: prependgit clone β¦ && cd it-journey; usedocker compose(v2). - [reasoned]
it-journey-stack-analysisobjectives are auto-seeded placeholders with the authoring note still visible, promising "hands-on exercises" the report doesn't contain. Fix: write real objectives or reclassify as a reading/analysis quest.
Medium¶
- [tested]
github-pages-portalfabricated config key βhighlander: trueis not a real Jekyll option (silently ignored). Fix: remove it. - [tested]
github-pages-portalsilent Jekyll downgrade β thegithub-pagesgem pins 3.10.0 over the 4.4.1 fromjekyll new; no warning. Fix: note the pin + mention the GitHub Actions Pages build as the modern alternative. - [tested]
it-journey-stack-analysismislabeled code fences (2Γpython, 1Γruby prose; 1Γbash that's YAML). Fix: usetext /yaml as appropriate. - [reasoned]
github-pages-portaltwo objectives claimed-but-absent β "Custom Domain Enchantment" and "Multi-Page Realm" are named objectives and self-checked done in the closing "Quest Validation Checklist", yet no chapter teaches either. Where: Objectives + closing checklist (lines ~86β88, ~677β679). Fix: add the content or drop the claims.
Low¶
- [reasoned] side_quest permalink/type mismatch.
it-journey-stack-analysisandpersonal-sitearequest_type: side_questbut their canonical permalinks are/quests/0001/<slug>/(the main-quest pattern), each carrying aredirect_fromthe/quests/0001/side-quests/<slug>/path. Perquest.instructions.mdΒ§3 a side_quest must use the/side-quests/segment. Fix: confirm intended canonicalization or restore the/side-quests/permalink somake quest-auditstays consistent. - [reasoned]
the-summoningtag drift.quest_type: main_questbuttags:includesbonus_quest. Fix: align the tag. - [reasoned]
github-pages-portalauthor-only sections leak to learners. "Quest Validation Checklist" + "Kaizen Hooks" read as internal publishing metadata (and the checklist self-reports unmet items as done). Fix: label author-only or remove. - [tested]
it-journey-stack-analysisdeploy workflow incomplete βpeaceiris/actions-gh-pages@v3has nowith:block (needsgithub_tokenat minimum). Fix: add the required inputs. - [reasoned]
seo-optimizationworked example misses its own target β the sample meta description is 119 chars vs the stated ~150β160. Fix: lengthen the example.
π Chain Continuity¶
Reading the five sources in plan order, this window does not hold together as a linked learning path β it reads as five independently-authored files that happen to share level 0001:
- No structural chain. Every quest's
quest_dependencies.required_questsis empty. The only cross-links arethe-summoning'srecommended: /quests/codex/self-operating-website/andseo-optimization'sunlocks. So the planner's "linked" ordering here is thematic, not dependency-driven β a learner gets no guidance on sequence. - A real prerequisite cliff at quest 4.
the-summoningis a π’ Easy, level-0001 quest, yet its frontmatter prerequisites demand "A live zer0-mistakes Jekyll site (complete the prequel epic first)" and a Claude Code OAuth token to drive the agent steps. Nothing earlier in this Apprentice window (or plausibly the level) delivers either. A beginner arriving here from the golden path in quest 1 would be hard-blocked. It belongs in a later tier or needs its prequel wired as a required dependency β it is mis-levelled as beginner content. - Two inert "side quests" break momentum. After the (partly-working)
github-pages-portal, a learner hitsit-journey-stack-analysis(a report, not a task) andpersonal-site(a stub link-table). Neither builds on the portal's static-site work nor prepares the learner forseo-optimization, so the middle of the window teaches nothing runnable. - Where the chain does connect, it's undermined by the same class of bug. Both
github-pages-portalCh3 andthe-summoningCh1 try to stand up a Jekyll site and both fail atbundle exec jekyll buildβ one on gem permissions, one on a missing theme plugin.seo-optimizationthen reasonably assumes "a Jekyll site to edit," which a learner would only have if those earlier builds succeeded. So the one genuine prerequisite thread in the window (get a Jekyll site running β optimize it) is broken at its source. - Net: a learner who completed quest 1's static-HTML golden path is ready for very little of quests 2β5 as written. The recoverable spine is portal (static path) β seo-optimization, and separately the-summoning once its prequel/token prerequisites are honestly surfaced.
π§ Reasoning & Method¶
- Mode & evidence.
executeβ real commands in the workflow's disposable sandbox. I did not run the engine (its childclaudeprocesses can't authenticate from my Bash tool); I consumed the sealedwalk-evidence.json/walk-evidence.mdread-only and did not modify them orwalk-plan.json. The run was real (meta.mock: false, cost β $5.34). Everypassed/failed/skippedin Β§2/Β§4 is the engine's witnessed result; my static observations are marked[reasoned]. - What I did myself. Read all five quest sources in plan order and reasoned about the linked journey (Β§6) and the frontmatter-level issues in Β§5 marked
[reasoned]β permalink/type mismatch, the-summoning prerequisite cliff, claimed-but-absent objectives, tag drift, author-only leakage. - Coverage & limits. This is window 2 of 6 β quests 11β15 of the level's 26 (planner
offset: 10); I did not walk the other 21, so this is not a verdict on all of Level 0001. Engine-side coverage caveats I'm carrying forward honestly: live HTTPserve/curland port binds were blocked by sandbox policy (verified indirectly viajekyll build+_site/file reads);git pushwas untestable (no real remote); Mermaid renders were skipped on missing headless-Chrome libs (syntax reviewed only); macOS/Windows-only command paths were correctly OS-scoped rather than run. The SRI-hash claim in stack-analysis couldn't be network-verified. - Confidence. High on the per-quest build failures (each reproduced with a concrete error string and, for two, a verified fix). High on the chain-continuity findings (they rest on the quest sources' own frontmatter/objectives, which I read directly). Medium on the reasoned-only Actions-workflow and SRI items, which the sandbox couldn't execute.
- Scope. One slice, one report. No quest content was edited; git is the caller's responsibility. STOP.