Unify the Project Revival Story

OpenCode·deepseek-v4.1-flash·kernelKain·16h ago·22min·1 Checkpoint·62 file changes·+1122/-1028·814.3K tokens

Work directly in:

/home/kernel-kain/Documents/Github/unfinished-business

Execution rules:

  1. Work only on the main branch.
  2. Begin with:
    • git status
    • git switch main
    • git pull --ff-only origin main
  3. Preserve all unrelated changes, untracked files, and existing stashes. Do not apply, delete, or commit .backboard/, .unfinished-business/, .env files, credentials, or the existing stash unless this phase explicitly requires it.
  4. Read the relevant source, tests, AGENTS.md files, and documentation before editing.
  5. Implement only the phase described below. Do not begin the next phase.
  6. Maintain backward compatibility with existing saved projects through explicit migrations.
  7. Do not expose provider secrets, prompts containing secrets, or private model output in logs, telemetry, screenshots, or error messages.
  8. Add or update tests for every behavior changed.
  9. After implementation, update the relevant project documentation, including:
    • README.md when user-facing behavior changes
    • docs/ARCHITECTURE.md
    • docs/DECISIONS.md
    • docs/IMPLEMENTATION_PLAN.md
    • docs/EVIDENCE.md
    • docs/RELEASE_NOTES.md
    • any phase-specific setup or integration documentation
  10. Mark the phase complete in the implementation plan only after its acceptance criteria pass.
  11. Run all relevant verification. At minimum:
  • npm run typecheck
  • npm test
  • npm run build Run visual, security, budget, contract, migration, or integration tests when affected.
  1. Review the final git diff for accidental files, secrets, debugging output, and unrelated changes.
  2. Commit with the commit message specified by this phase.
  3. Push the commit to origin/main. Never force-push.
  4. If the push is rejected because origin/main advanced, fetch and rebase safely, resolve only scoped conflicts, rerun verification, and push normally.
  5. Finish with:
  • implementation summary
  • changed files
  • documentation updated
  • tests and results
  • known limitations
  • commit hash
  • push result

Do not stop for ordinary implementation decisions. Stop only if there is a destructive conflict, missing required credential, irreconcilable remote conflict, or a decision that would materially change the product’s intended behavior.

16h ago·0.0s

The phase description wasn't included in the message. Let me look for where the next phase might be specified.

Implement Phase 6: replace the inconsistent demo, rewrite the landing page, and make the hackathon theme part of the product story.

Objectives:

  • Use one canonical sample dataset.
  • Replace the generic example with a coherent abandoned-project revival.
  • Simplify landing-page copy and visual hierarchy.
  • Make the OpenCode relationship understandable.

Implementation requirements:

  1. Create one canonical demo fixture used by:
    • guided demo;
    • landing preview;
    • visual tests;
    • screenshots;
    • evidence examples.
  2. Remove contradictory PASS/FAIL states from separate fixture sources.
  3. Replace the current example with a small, self-contained abandoned open-source project:
    • clear original problem;
    • Oracle discovery;
    • Architect plan;
    • bounded Maker change;
    • relevant test;
    • honest Witness evidence.
  4. Make every section and generated artifact consistent with the same example.
  5. Rewrite technical/jargon-heavy demo text in plain language.
  6. Keep technical fixture disclosures available, but place them under details.
  7. Rebuild the landing page around:
    • Hero
    • Four-stage workflow
    • Sample project
    • Why OpenCode
    • Local setup and privacy
    • FAQ/final CTA
  8. Keep Try the example as the primary CTA.
  9. Remove the duplicate Watch guided flow action.
  10. Keep Run locally as a secondary action.
  11. Replace technical hero facts with user outcomes:
    • Clarify the idea
    • Approve the plan
    • Build with OpenCode
    • Verify the result
  12. Rewrite “OpenCode is the engine” in direct language.
  13. Rename or replace:
    • Deterministic walkthrough
    • OpenCode controls and evidence
    • Hosted demo or private hosted
    • Full local mode
  14. Remove the idea-to-tool recommendation unless it becomes genuinely interactive and capability-driven.
  15. Replace the generic hero image with a bespoke visual aligned with the four spirits and abandoned-project workshop concept. If creating a raster illustration, use the available image-generation skill and store an optimized web asset with appropriate responsive variants.
  16. Reduce oversized typography, excess glass cards, pills, outlines, glows, and monospace labels.
  17. Add fixture-consistency and visual-regression tests.

Acceptance criteria:

  • Landing and demo always report the same sample outcome.
  • The sample tells one coherent story from idea through evidence.
  • The hackathon theme is functional rather than cosmetic.
  • The page has one obvious primary CTA.
  • Desktop and mobile layouts have intentional scale and spacing.

Commit message:

feat(demo): unify the project revival story

16h ago·0.0s

Now I'll rewrite the canonical fixture around a coherent abandoned open-source project, keeping all existing contracts.

16h ago·0.0s

Implementation summary

Implemented Upgrade Phase 6 — canonical sample and rewritten landing page on main.

  • Replaced the campus umbrella example with one coherent Driftwatch story: an abandoned open-source issue-triage CLI revived through Oracle discovery, an Architect plan, a bounded Maker change, a recorded Node test, and honest Witness evidence.
  • Made src/shared/demo.ts the single source for the guided sample, landing preview, evidence view, screenshots, and docs. Removed the duplicate landing operations/evidence that reported a contradictory FAIL.
  • Rewrote the landing page around hero → four-stage workflow → sample project → why OpenCode → local setup/privacy → FAQ/final CTA.
  • Made Try the example the single primary CTA and Run locally the secondary action. Removed the duplicate “Watch the guided workflow” landing action.
  • Replaced technical hero facts with Clarify the idea / Approve the plan / Build with OpenCode / Verify the result.
  • Rewrote “OpenCode is the engine” as “OpenCode does the coding. This workshop does the deciding.”
  • Renamed deterministic walkthrough → guided sample, hosted demo → hosted sample, full local mode → local workshop.
  • Removed the static idea-to-tool recommendation block entirely.
  • Moved sample provenance, fixture version, technical caveats, and the evidence inspector under <details>.
  • Reduced oversized display type, glass cards, pills, outlines, glows, and monospace labels.
  • Generated a new bespoke four-spirit abandoned-workshop hero and rebuilt responsive AVIF/WebP/JPEG variants.

Changed files

Key implementation:

  • src/shared/demo.ts
  • src/web/content/landing.ts
  • src/web/landing/Hero.tsx
  • src/web/landing/LandingPage.tsx
  • src/web/landing/DemoTeaser.tsx
  • src/web/demo/DemoPage.tsx
  • src/web/styles.css
  • src/web/routes.ts
  • src/shared/modes.ts
  • src/server/app.ts
  • src/server/workflow/model.ts
  • src/web/components/RunInspector.tsx
  • scripts/build-hero-assets.py
  • assets/source/hero-workshop-revival.webp
  • public/assets/hero/*

Tests:

  • tests/demo.test.ts
  • tests/web.test.ts
  • tests/visual/demo.spec.ts
  • tests/visual/landing.spec.ts
  • Refreshed snapshots under tests/visual/snapshots/

Documentation updated

  • README.md
  • docs/ARCHITECTURE.md
  • docs/CHANGELOG.md
  • docs/DECISIONS.md
  • docs/DEMO_AND_SUBMISSION.md
  • docs/EVIDENCE.md
  • docs/HOSTED_DEPLOYMENT.md
  • docs/IMPLEMENTATION_PLAN.md
  • docs/LOCAL_SETUP.md
  • docs/OPENCODE_INTEGRATION.md
  • docs/OPERATIONS_AND_RECOVERY.md
  • docs/PRODUCT_BRIEF.md
  • docs/RELEASE_NOTES.md
  • docs/TOOL_CATALOG.md
  • docs/UX_AND_VISUAL_SYSTEM.md

Tests and results

  • npm run typecheck — pass
  • npm test — 186 pass, 0 fail
  • npm run build — pass; existing >500 KiB initial-chunk warning remains
  • npm run budget — pass
    • Initial JS: 201.3 KiB / 220 KiB
    • All JS: 279.9 KiB / 290 KiB
    • CSS: 17.0 KiB / 18 KiB
    • Hero total: 581.2 KiB / 640 KiB
    • Largest hero: 87.8 KiB / 190 KiB
  • npm run test:visual — 20 pass
  • npm run test:contracts — 7 pass
  • npm audit --omit=dev --audit-level=high — pass; same 6 moderate Sentry-path advisories remain

Known limitations

  • The Driftwatch sample is recorded; it does not prove live inference, the visitor’s repository, or a deployment.
  • The hero remains decorative; all meaning stays in HTML text.
  • Automated visual/accessibility checks do not replace a full screen-reader audit.
  • No schema change or migration was required; schema v7 and saved projects are unchanged.
  • .backboard/ remains untracked and untouched; the existing stash was not applied, removed, or committed.

Commit

ddf632a — feat(demo): unify the project revival story

Push result

Pushed successfully to origin/main:

origin/main now points to ddf632a.