Skip to main content
Settings
Color Mode
Theme Skin
Background

Appearance preferences are saved in this browser only.

Environment
Current Environment Production

Built with JEKYLL_ENV=production. Changes require deployment.

Quick Links
Theme & Build
Jekyll v3.10.0
Last Build Jul 29, 03:29
Page Location
Page Info
Layout default
Collection quest-reports
Path _quest-reports/2026-07-23-developer-0001.md
URL /quest-reports/2026-07-23-developer-0001/
Date 2026-07-23

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…

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.html creation (macOS echo-heredoc, Windows pwsh here-string, Linux cat << 'EOF') all produced byte-identical output; git add/commit worked in a local sim repo; full styled index.html parsed cleanly with Python’s html.parser.
  • failedgem 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.
  • failedjekyll new . --force (Ch3 s2): scaffolds, but auto bundle install hits the same permission error, and once fixed produces a real Conflict: ... shared by multiple files - index.markdown / index.html because the Chapter-1 index.html is still present.
  • failed — “Update index.md” (Ch3 s5): jekyll new . actually generates index.markdown; following the instruction literally edits the wrong file.
  • passed-but-flagged — the github-pages Gemfile silently downgraded Jekyll 4.4.1 → 3.10.0; _config.yml build succeeded while silently ignoring the fabricated highlander: true key.
  • skippedgit 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 via yaml.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 (only docker compose v2 exists), and every path errors “no such file or directory” because the quest never tells the learner to git clone the repo first.
  • failed — four mislabeled fences: two python and oneruby block are actually dependency-listing prose (raise SyntaxError when run under their stated language), and a ```bash block is really YAML.
  • failed — the LinkHealthGuardian class instantiation raises AttributeError: ... 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.com domain.

4. self-operating-website-01-the-summoning.md — 66% ⚠️ (ran 10/3 runnable · 9 passed · 1 failed · 2 reasoned)

  • failedbundle exec jekyll build --trace with exactly the quest’s _config.yml/Gemfile: Liquid::SyntaxError: Unknown tag 'include_cached' in .../_layouts/root.html. The referenced bamr87/zer0-mistakes theme needs jekyll-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_plugins makes bundle install + jekyll build complete cleanly (only benign upstream Sass deprecation warnings).
  • passed — brand-as-data works: after wiring {​% include voice.html %​}, _site/index.html rendered <p class="tagline">A site that learns to operate itself.</p> plus the <li> values. scripts/session-scribe.sh was exercised in three real git states (0, 1, 2 commits) and produced a valid dated dispatch each time under set -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.yml parses, JSON-LD Article passes json.loads, the {​% seo %​} include matches minima-2.5.2’s head.html almost verbatim and auto-emits JSON-LD, robots.txt is well-formed.
  • failed — the confirmed functional bug: after bundle add jekyll-seo-tag jekyll-sitemap alone, bundle exec jekyll build produced 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.yml plugins:, or move gems into the Gemfile :jekyll_plugins group) — 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/imageoptim and the Windows pwsh path (correct OS-scoping, not bugs); live jekyll serve port bind denied by sandbox → verified via jekyll 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-site is 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.io repo → add scaffold → enable Pages → verify URL), or reclassify; at minimum fix the jekyllrb.com/”Comments service” error and the .netlify.com.netlify.app update.
  • [tested] the-summoning Chapter 1 build fails as written — missing jekyll-include-cache causes Liquid::SyntaxError: Unknown tag 'include_cached'. Where: Ch1 Gemfile/_config.yml. Fix: add gem "jekyll-include-cache" to :jekyll_plugins (verified one-line fix).
  • [tested] seo-optimization sitemap never generates from the “Choose Your Adventure Platform” block. Where: all three OS paths’ bundle add ...; jekyll serve. Fix: add a _config.yml plugins: line (or Gemfile :jekyll_plugins group) immediately after bundle add, before serve.
  • [tested] github-pages-portal Jekyll chapter fails on a standard Linux setupGem::FilePermissionError with no workaround, and an index.htmlindex.markdown build conflict carried from Chapter 1. Where: Ch3 s1–s2. Fix: note --user-install/rbenv/bundle config set path, and warn to remove the Chapter-1 index.html before jekyll new . --force.
  • [tested] github-pages-portal index.md vs index.markdown filename bug. Where: Ch3 s5. Fix: reference index.markdown (what jekyll new actually creates).
  • [tested] it-journey-stack-analysis Quick Start can’t run — assumes a cloned repo (no clone step) and Compose v1. Where: “Local Development” block. Fix: prepend git clone … && cd it-journey; use docker compose (v2).
  • [reasoned] it-journey-stack-analysis objectives 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-portal fabricated config keyhighlander: true is not a real Jekyll option (silently ignored). Fix: remove it.
  • [tested] github-pages-portal silent Jekyll downgrade — the github-pages gem pins 3.10.0 over the 4.4.1 from jekyll new; no warning. Fix: note the pin + mention the GitHub Actions Pages build as the modern alternative.
  • [tested] it-journey-stack-analysis mislabeled code fences (2×python, 1×ruby prose; 1×bash that’s YAML). Fix: use text /yaml as appropriate.
  • [reasoned] github-pages-portal two 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-analysis and personal-site are quest_type: side_quest but their canonical permalinks are /quests/0001/<slug>/ (the main-quest pattern), each carrying a redirect_from the /quests/0001/side-quests/<slug>/ path. Per quest.instructions.md §3 a side_quest must use the /side-quests/ segment. Fix: confirm intended canonicalization or restore the /side-quests/ permalink so make quest-audit stays consistent.
  • [reasoned] the-summoning tag drift. quest_type: main_quest but tags: includes bonus_quest. Fix: align the tag.
  • [reasoned] github-pages-portal author-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-analysis deploy workflow incompletepeaceiris/actions-gh-pages@v3 has no with: block (needs github_token at minimum). Fix: add the required inputs.
  • [reasoned] seo-optimization worked 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_quests is empty. The only cross-links are the-summoning’s recommended: /quests/codex/self-operating-website/ and seo-optimization’s unlocks. 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-summoning is 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 hits it-journey-stack-analysis (a report, not a task) and personal-site (a stub link-table). Neither builds on the portal’s static-site work nor prepares the learner for seo-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-portal Ch3 and the-summoning Ch1 try to stand up a Jekyll site and both fail at bundle exec jekyll build — one on gem permissions, one on a missing theme plugin. seo-optimization then 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 child claude processes can’t authenticate from my Bash tool); I consumed the sealed walk-evidence.json / walk-evidence.md read-only and did not modify them or walk-plan.json. The run was real (meta.mock: false, cost ≈ $5.34). Every passed/failed/skipped in §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 HTTP serve/curl and port binds were blocked by sandbox policy (verified indirectly via jekyll build + _site/ file reads); git push was 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.