Software Developer · L0001 · 2026-07-23
Quest-perfection walkthrough of the Web Fundamentals slice developer/0001 on 2026-07-23, engine verdict fail (avg 50.2%). An evidence-based, learner's-eye…
Table of Contents
- 🎯 Session Summary
- 🗺️ The Journey
- 🔬 Evidence
- 1. github-pages-portal.md — 48% ❌ (ran 14/11 runnable snippets · 10 passed · 4 failed · 3 skipped · 5 reasoned)
- 2. it-journey-stack-analysis.md — 48% ❌ (ran 14/8 runnable · 8 passed · 6 failed · 2 skipped · 1 reasoned)
- 3. personal-site.md — 16% ❌ (0 runnable snippets · 1 skipped · 1 reasoned)
- 4. self-operating-website-01-the-summoning.md — 66% ⚠️ (ran 10/3 runnable · 9 passed · 1 failed · 2 reasoned)
- 5. seo-optimization.md — 73% ⚠️ (ran 11/5 runnable · 10 passed · 1 failed · 4 skipped)
- 🐞 Issues Found
- 🔗 Chain Continuity
- 🧠 Reasoning & Method
Slice
developer/0001· Level 0001 (Web Fundamentals) · Apprentice tier · Engine verdict ❌ fail (avg 50.2%) · Walked 2026-07-23🔗 Perfection run · 🏠 Perfection dashboard · 📄 Raw report · 🕘 Change history
🎯 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.