Skip to content

Latest commit

 

History

127 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The DSA Woodshed

A public practice room for reasoning and technical work in a real editor. The DSA study packet owns the practice engine, catalog, problems, tests, authored guides, reference sheets, and printable sources. This repository owns the static reading surface at dsa-woodshed.space, navigation, search, and publication.

Python is the currently runnable discipline. Future language curricula require actual exercises and acceptance evidence. Personal practice records and employer material stay downstream.

Build and contribute

Work from a personal fork with origin pointing to your fork and upstream to DSA-Woodshed/dsa-woodshed.space. See CONTRIBUTING.md.

nix develop .#playwright
just setup
just gate
just e2e
just dev

just is the public entrypoint. The pinned site.scaffold Nix shell supplies Node 22, Bazelisk, pnpm, Just, Python, and Chromium. Bazel owns finite build, typecheck, lint, unit test, and package actions. just build transactionally materializes //:build at build/; the build includes Pagefind and verifies content, diagrams, the printable digest, and the exact deployment receipt. Package scripts delegate to Just and never recursively call themselves.

The public xoxd.ai navigation, footer, theme picker, palette, and licensed fonts come from immutable xoxd_public_chrome and xoxd_theme modules. First-party packages are linked from their Bazel //:pkg targets. Anonymous builds require no private package registry or credentials. Local execution, GitHub-hosted runner pickup, shared-cache attachment, and remote execution are separate evidence; local validation proves this graph; GitHub Actions runs the same commands on public hosted runners.

Content and product flow

The committed src/content/.manifest.json pins one exact packet commit and a printable release digest. Normal sync and build reproduce that lock; just packet-lock <40-character-sha> is the only command that advances the revision. To advance the printable release in the same transaction, pass a validated booklet metadata file as the second argument. Sync verifies the PDF size and digest before accepting the new lock and restores prior outputs on failure. Set WOODSHED_PACKET_PATH to the packet Git checkout, or put it next to this checkout as ../dsa-study-packet. Sync reads immutable Git objects, exports the packet catalog into /capabilities.json, and verifies generated bytes before publication. The site's guided start dialog uses that same catalog to select intent, a time budget, and an available capability before opening Codespaces.

The two rendering lanes remain distinct: mdsvex .svx for prose and the raw Markdown renderer for code-heavy reference sheets. Change authored content in the packet repository, then advance this repository's lock. Every content page links to its packet source.

Practice opens the active challenges. Library collects algorithms, references, and printables. Method explains the practice flow. Project is a concise public landing that links the source-of-truth and contribution rules. Legacy orientation URLs redirect to Project. Personal agent integrations and provider instructions live in contribution-fork overlays, outside org mains.

Production Pages jobs run only in DSA-Woodshed/dsa-woodshed.space, refuse stale main revisions, and verify the served site commit, packet commit, and PDF digest. DNS custody remains in the existing private infrastructure overlay.

About

Editor-first technical interview practice in Codespaces: ordinary reasoning comments, candidate-owned code and tests, and a deterministic resident interviewer.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages