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 18, 03:26
Page Location
Page Info
Layout default
Collection quest-reports
Path _quest-reports/2026-07-17-developer-0001.md
URL /quest-reports/2026-07-17-developer-0001/
Date 2026-07-17

Software Developer · L0001 · 2026-07-17

Quest-perfection walkthrough of the Web Fundamentals slice developer/0001 on 2026-07-17, engine verdict fail. An evidence-based, learner's-eye session…

Slice developer/0001 · Level 0001 (Web Fundamentals) · Apprentice tier · Engine verdict ❌ fail · Walked 2026-07-17

🔗 Perfection run · 🏠 Perfection dashboard · 📄 Raw report · 🕘 Change history


🎯 Session Summary

I played a 5-quest window (window 2 of 6; quests 11–15 of the 26 that make up the Developer path’s Level 0001 · Web Fundamentals · Apprentice 🌱 tier) as a beginner developer would, driving the sealed execute-mode engine evidence and then reading every quest source in plan order to reason about the linked journey.

Headline verdict: ❌ fail. The engine scored 0 pass · 1 warn · 4 fail, average 49.5%. This slice is not ready for a real beginner: the very first main quest (GitHub Pages Portal) hard-blocks on a gem install/bundle permissions failure on the exact Linux setup it recommends, and a leftover index.html silently shadows all the Jekyll content it later teaches; one side quest (Personal Website, 19%) is a bare reference table with placeholder objectives and no runnable steps; the flagship Summoning main quest (57%) fails to build against the very theme it names because it omits jekyll-include-cache; and even the best of the set (SEO Optimization, 68% ⚠️) teaches a plugin-setup sequence that silently produces no sitemap until a later chapter. The Stack Analysis side quest timed out at 600s in the engine, so it has no execute evidence — I reasoned about it statically only. A maintainer’s highest-value fixes are the two high-severity blockers in Portal and the missing plugin in Summoning, because they stop a learner cold at the start of the path.

🗺️ The Journey

Plan order (from walk-plan.json); emoji = engine verdict, score = overall:

  1. The GitHub Pages Portal: Forging Your Digital Realmmain_quest · 54 · Solid git/Pages content, but a gem-permissions wall and a silent index.html vs index.md shadowing would block/mislead a beginner exactly where it promises the least friction.
  2. Stack Attack Analysis: IT-Journeyside_quest · — (timed out at 600s) · No execute evidence gathered; a ~1,300-line reference report with auto-seeded placeholder objectives and no real hands-on exercises (reasoned only).
  3. Build a Personal Website with GitHub Pagesside_quest · 19 · Effectively a stub: one link table, zero runnable commands, unrendered Liquid, duplicate/mislabeled rows. Needs a full rewrite to match its title.
  4. The Summoning: Raise the Site and Give It a Voicemain_quest · 57 · Well-structured, but Chapter 1’s Gemfile/_config.yml won’t build against the named bamr87/zer0-mistakes theme (missing jekyll-include-cache); no .gitignore step. Everything else tested clean.
  5. ⚠️ SEO Optimization: Meta Tags, Sitemaps & Structured Datamain_quest · 68 · Individual SEO techniques all verified working, but the first platform-path step yields no sitemap until Chapter 2’s _config.yml edit, and the JEKYLL_ENV=production “minifies output” claim is factually wrong.

🔬 Evidence

All outcomes below come from the sealed walk-evidence.json (execute mode; commands actually run in the engine’s disposable sandbox). Snippet coverage is reported as ran/runnable. I did not re-run the engine.

1. GitHub Pages Portal — 54% (fail) · snippets ran 18 (14✓ / 4✗), 3 reasoned

  • passedgit clone / git add / git commit on a real local repo (verified three successive commits succeed); bundle exec jekyll serve bound http://127.0.0.1:4000/ matching the quest’s stated URL; both Mermaid diagrams rendered via mmdc; the Windows PowerShell here-string ran under pwsh.
  • failedgem install jekyll bundler (Ch.3 s1) → Gem::FilePermissionError: You don't have write permissions for the /var/lib/gems/3.2.0 directory on stock Ubuntu 24.04 / Ruby 3.2.3 — the exact env produced by the quest’s own sudo apt-get install ruby-full. bundle install (s6) similarly threw Bundler::PermissionError until an undocumented bundle config set --local path vendor/bundle.
  • failed — a real bundle exec jekyll build confirmed the Chapter 1 index.html silently wins over the Chapter 3 index.md; none of the Jekyll homepage content the quest teaches is ever rendered. jekyll new . --force did not remove it — it added a competing index.markdown.
  • failed — copy-pasting the index.md block verbatim (with literal {​% raw %​}{​{ site.url }​}{​% endraw %​}) built <a href="{​{ site.url }​}">View Site</a> — a broken link.
  • reasonedgit push origin main and placeholder-URL clones can’t be verified without a real authenticated remote (expected, not a defect).

2. Stack Attack Analysis — no score (fail) · no snippets executed

  • errorclaude timed out after 600s; verdict_obj is null, overall 0.0. No command evidence exists for this quest. My notes on it (Chain Continuity, Issues) are reasoned from reading the source only, and labeled as such.

3. Build a Personal Website — 19% (fail) · snippets ran 2 (1✓ / 1✗), 1 skipped, 1 reasoned

  • failed / reasoned — engine confirms zero runnable code blocks (available_runnable: 0): no git init, no repo creation, no _config.yml, no Pages-enable step. The one content section is a link table.
  • Source read confirms every engine finding: rows 2 and 6 render to the identical https://{​{ site.github_user }​}.github.io/ yet are labeled different hosts; row 12 labels jekyllrb.com a “Comments service” (it’s a static-site generator); Liquid tags render literally; the objectives block is the auto-seeded placeholder (“authors should refine these”).

4. The Summoning — 57% (fail) · snippets ran 7 (6✓ / 1✗), 2 reasoned

  • failed — building the exact Chapter 1 _config.yml + Gemfile against a cloned real bamr87/zer0-mistakes theme → Liquid Exception: Liquid syntax error (line 70): Unknown tag 'include_cached' in the theme’s _layouts/root.html. Adding gem "jekyll-include-cache", group: :jekyll_plugins (a fix the quest never names) made bundle exec jekyll build succeed and render correctly.
  • passed_data/brand.yml parses and the {​{ site.data.brand.* }​} include renders as claimed; scripts/session-scribe.sh run twice (first commit + second commit) produced the dispatch exactly as described, including the documented HEAD^1git show fallback on a first commit; the Actions workflow YAML is valid.
  • reasoned — the “Reproduce It” links to merged bamr87/lifehacker.dev PRs couldn’t be SHA-verified without deeper API access (treated as unverified, not a failure). Committing without a .gitignore was verified to sweep the entire generated _site/ tree into the repo.

5. SEO Optimization — 68% (warn) · snippets ran 8 (5✓ / 3✗), 2 skipped, 5 reasoned

  • failed — real Jekyll 4.4.1 build of the platform-path sequence (bundle add jekyll-seo-tag jekyll-sitemap; jekyll build): /sitemap.xml was not generated (ls _site/sitemap.xml → No such file). bundle add lands gems in the default group, not :jekyll_plugins, so jekyll-sitemap never activates until Chapter 2’s plugins: list is added — after which a rebuild produced /sitemap.xml with all 3 URLs (Ch.2 is correct, just out of sequence).
  • failed (accuracy) — verified against Jekyll 4.4.1 source: JEKYLL_ENV=production only toggles the jekyll.environment Liquid variable; it performs no HTML/CSS/JS minification. The Chapter 4 claim (line 313) and matching knowledge check (line 339) are wrong.
  • passed — the {​% seo %​} tag rendered full <title>/meta/canonical/OpenGraph/ Twitter/JSON-LD; robots.txt built unchanged; the Chapter 3 JSON-LD parsed via json.loads; the author: block verified against jekyll-seo-tag 2.9.0’s AuthorDrop. jekyll-seo-tag rendering after bare bundle add was noted as theme-specific luck (minima declares it as a gemspec dep), not reliable behavior.
  • reasoned/skipped — macOS-only tools (sips, imageoptim, open) and the interactive jekyll serve + browser steps couldn’t run in the Linux sandbox.

Machine summary (verbatim from walk-evidence.md): 4 quests evaluated · ✅ 0 pass · ⚠️ 1 warn · ❌ 4 fail · avg 49.5% · ~$4.1949 (a 5th, Stack Analysis, errored out with a 600s timeout).

🐞 Issues Found

Grouped by quest; every item cites a witnessed command result or a quoted source line. Severity mirrors the engine’s own high/medium/low where it ran.

GitHub Pages Portal (pages/_quests/0001/github-pages-portal.md)

  • high · Ch.3 s1/s6, gem install jekyll bundler / bundle installobserved: Gem::FilePermissionError / Bundler::PermissionError on the Linux env the quest itself recommends. Fix: add guidance for the system-Ruby permission wall (rbenv/rvm/asdf, or gem install --user-install + bundle config set path vendor/bundle).
  • high · Ch.3 s5, index.md shadowed — observed via jekyll build: the Chapter 1 index.html silently wins; the taught homepage never renders. Fix: instruct learners to delete/rename index.html before creating index.md.
  • high · Objectives — observed: “Custom domain configuration” is a stated objective but the doc has zero mentions of CNAME/DNS/A records. Fix: add real CNAME+DNS+Settings steps, or drop the objective.
  • medium · Ch.1→Ch.3, Jekyll version — standalone gem install gives Jekyll 4.4.1, then the github-pages Gemfile pins 3.10.0 (per Gemfile.lock) with no explanation. Fix: explain the intentional downgrade.
  • medium · index.md {​% raw %​}{​{ site.url }​}{​% endraw %​} — verbatim copy builds a literal broken link. Fix: use a plain placeholder outside raw tags.
  • low · _config.yml highlander: true is a non-standard key; low · Quest-Network diagram has contradictory bidirectional A↔D prerequisite edges.
  • low (⚠ likely engine artifact — my witness note) · The engine flagged “missing YAML front matter,” but I read the on-disk file and it has full, well-formed front matter (lines 1–60+). This is almost certainly the sandbox presenting a stripped QUEST.md, not a real content defect — do not act on it.

Stack Attack Analysis (pages/_quests/0001/it-journey-stack-analysis.md) — all reasoned (engine timed out; no execute evidence)

  • medium (reasoned) · Objectives are the auto-seeded placeholder block (source lines 79–83: “objectives auto-seeded during framework alignment”) and learning_style: hands-on / “Complete the hands-on exercises” promise exercises the ~1,300-line report never provides. Fix: author real objectives, or reclassify as a reference/reading quest.
  • low (reasoned) · Content is stale in spots (e.g., “Jekyll 3.9.5 … latest GitHub Pages-compatible”) relative to the Jekyll 4.4.1 used elsewhere in this level.

Build a Personal Website (pages/_quests/0001/personal-site.md)

  • high · Whole quest — observed: no runnable steps at all for a “Build a…” title. Fix: rewrite to teach creating <user>.github.io, scaffolding index/Jekyll, enabling Pages, verifying the live URL.
  • high · Unrendered {​% raw %​}{​{ site.github_user }​}{​% endraw %​} throughout the table. Fix: substitute a concrete example or explain the templating.
  • medium · Row 12 jekyllrb.com mislabeled “Comments service”; rows 2 & 6 are duplicate/contradictory; nanobar.jacoborus.codes dead; Travis CI reference outdated. Fix: correct the table.
  • medium · Placeholder objectives (same auto-seeded block); no prerequisites or validation criteria.

The Summoning (pages/_quests/0001/self-operating-website-01-the-summoning.md)

  • high · Ch.1 Gemfile/_config.ymlobserved: Unknown tag 'include_cached' hard build failure against the real named theme. Fix: add jekyll-include-cache to both the plugins list and the Gemfile :jekyll_plugins group (or adopt the theme’s recommended gem "github-pages").
  • medium · No .gitignore step — observed: git add -A sweeps the entire _site/ build + vendor/bundle into the repo. Fix: add a .gitignore snippet before the first commit.
  • medium · Actions versions behind current majors and configure-pages ordered before checkout; no --baseurl for project pages. Fix: align with GitHub’s official Jekyll-on-Pages starter.
  • low · No explicit bundle install step before the first jekyll build/push.

SEO Optimization (pages/_quests/0001/seo-optimization.md)

  • high · Platform-path setup (lines ~61–114) — observed: /sitemap.xml not produced by bundle add alone. Fix: introduce the _config.yml plugins: list (or bundle add --group jekyll_plugins) in the setup step, or warn that plugins don’t activate until Chapter 2.
  • high · Line 313 + knowledge-check line 339 — observed against Jekyll 4.4.1 source: JEKYLL_ENV=production does not minify. Fix: correct the claim (point to jekyll-minifier or Sass style: compressed) and the matching question.
  • medium · Chapter 1 example description is 119 chars vs the stated ~150–160 target. low · Cloud Realms path lacks a validation step the other three paths have.

No blocking issues exist only in the tested-clean portions — the brand-as-data include, the session-scribe script (Summoning) and the {​% seo %​}/JSON-LD/robots mechanics (SEO). Everything else above is a real, evidenced defect.

🔗 Chain Continuity

Context: this is a rotating window (2 of 6) of a 26-quest level, so these five are a slice, not a strict N→N+1 dependency chain — and indeed all five declare required_quests: []. As a learner sweeping them in plan order, I found:

  • Conflicting “build a site” recipes. Portal (quest 1) and Summoning (quest 4) both teach Jekyll-on-GitHub-Pages from scratch but with incompatible stacks: Portal uses jekyll new + the github-pages gem (Jekyll 3.10), Summoning uses remote_theme + a GitHub Actions build (Jekyll 4). A beginner who did Portal first arrives at Summoning with a different site layout and toolchain than Summoning assumes. Neither cross-references the other. This is the biggest continuity gap.
  • Both site-build quests are blocked at step one, independently. Portal dies on gem permissions; Summoning dies on include_cached. A learner walking the slice top-to-bottom would be stuck twice before reaching a working site — and the later SEO quest’s stated prerequisite is “A Jekyll site to edit,” which neither predecessor reliably delivers out of the box.
  • SEO (quest 5) is the payoff and mostly holds — its prerequisite (“a Jekyll site”) is thematically satisfied by quests 1/4, and its content is the strongest in the set. But its platform-path sitemap bug would bite a learner who just built a site via Portal exactly the same way, compounding the earlier friction.
  • Two quests read as unfinished. Stack Analysis (2) and Personal Website (3) both carry the identical auto-seeded placeholder objectives block. Seeing “objectives auto-seeded during framework alignment — authors should refine these” twice in one slice signals to a learner that the path isn’t finished, and neither delivers the hands-on exercise its own objectives promise. They function as reference material wedged between three hands-on build quests, breaking the “do something” rhythm.
  • Ordering nit: Personal Website (a services reference) sits before the Summoning (which actually builds the site). A learner would benefit from building first, then consulting the services catalog — the current order front-loads a context-free link table.

Net: the slice does not yet hold together as a smooth learning path — two hard blockers, two conflicting site recipes, and two placeholder-objective reference pages mean a real Apprentice developer would stall early and repeatedly.

🧠 Reasoning & Method

  • Mode: execute (sandboxed), consuming workflow-sealed walk-evidence.json
    • walk-evidence.md. Per the skill’s step 2, the engine was pre-run deterministically by the workflow (its child claude processes can’t authenticate from my Bash tool); I did not run, regenerate, or edit the evidence or the plan.
  • What I ran vs. reasoned: the engine actually executed commands in a disposable temp dir per quest (git flows, gem/bundle, jekyll build, a cloned real theme, mmdc, pwsh, json.loads, source cross-checks) — those are the passed/failed facts in §Evidence. I then read all five quest sources in plan order to reason about the linked journey (§Chain Continuity). Everything I concluded without a sandbox command is labeled reasoned.
  • Coverage & limits, stated honestly:
    • Quest 2 (Stack Analysis) has ZERO execute evidence — it timed out at 600s. All my remarks on it are reasoned from source only; do not read them as tested.
    • git push, placeholder-URL clones, and the Summoning “Reproduce It” PR SHAs were unverifiable without real credentials — treated as reasoned/expected, not defects.
    • macOS-only tooling and interactive jekyll serve/browser steps couldn’t run in the Linux sandbox (SEO, Portal) — reasoned via source/docs.
    • The Portal “missing front matter” engine finding conflicts with the actual on-disk file (which has full front matter). I flagged it as a likely sandbox artifact and recommend ignoring it — an honest witness note, not a validated bug.
  • Confidence: High on the four scored quests’ blockers (each backed by a real, reproduced command). Medium-low on Stack Analysis (source-only). Overall verdict fail follows directly from the sealed counts (0 pass · 1 warn · 4 fail, 49.5%), not from my own grading.
  • Scope discipline: one slice, one report. No quest content was edited; no branch, commit, or PR was made. The workflow handles git.