Remove the demo image and toy application #1621

Closed
opened 2026-07-31 07:06:02 +00:00 by coilyco-ops · 2 comments
Member

Outcome

Remove Ward's public demo image and toy application without replacing them with another demo framework.

Ward should demonstrate its governed execution contract through its real product surfaces and verification fixtures, not permanent toy product scaffolding.

Why

The demo image builds another Ward binary, then prints ward version, inspects caller-mounted directories, and lists substrate entries. It primarily demonstrates Docker mounts rather than Ward's governed execution boundary.

The toy application exists to support the small ward exec walkthrough. It is not a runtime dependency or a meaningful shipped capability, and maintaining a public application, Makefile, policy file, scripts, image, documentation, and special Docker exception for it creates disproportionate surface area.

Scope

  • Delete docker/demo/.
  • Delete examples/toy/.
  • Delete examples/demo.sh.
  • Delete docs/demo-image.md, docs/demo.md, and docs/example-repo.md.
  • Delete cmd/ward/demo_image_test.go.
  • Remove the demo-image Make target and phony declaration.
  • Remove the demo-image command from .ward/ward.yaml.
  • Remove the Docker policy exception and route hint that exist solely for ward exec demo-image.
  • Remove references from README, the docs index, docs/FEATURES.md, contributor guidance, and other tracked files.
  • Audit release packaging and workflow inputs for assumptions about these paths.
  • If a real behavioral test depends on the toy repository shape, move only the minimum required data into an internal testdata fixture. Do not retain a public runnable toy.

Acceptance

  • No tracked docker/demo/, examples/toy/, or examples/demo.sh paths remain.
  • No CLI, Make, Ward configuration, or documentation surface exposes demo-image.
  • No Docker permission exception remains solely for the deleted demo.
  • A repository-wide search finds no stale ward-demo, demo-image, or examples/toy references.
  • Product tests and repository validation pass.
  • docs/FEATURES.md no longer lists the public demo image.

Non-goals

  • Removing Ward's production agent image.
  • Removing concise inline command examples from real product documentation.
  • Replacing the deleted material with another showcase application or image.
## Outcome Remove Ward's public demo image and toy application without replacing them with another demo framework. Ward should demonstrate its governed execution contract through its real product surfaces and verification fixtures, not permanent toy product scaffolding. ## Why The demo image builds another Ward binary, then prints `ward version`, inspects caller-mounted directories, and lists substrate entries. It primarily demonstrates Docker mounts rather than Ward's governed execution boundary. The toy application exists to support the small `ward exec` walkthrough. It is not a runtime dependency or a meaningful shipped capability, and maintaining a public application, Makefile, policy file, scripts, image, documentation, and special Docker exception for it creates disproportionate surface area. ## Scope * Delete `docker/demo/`. * Delete `examples/toy/`. * Delete `examples/demo.sh`. * Delete `docs/demo-image.md`, `docs/demo.md`, and `docs/example-repo.md`. * Delete `cmd/ward/demo_image_test.go`. * Remove the `demo-image` Make target and phony declaration. * Remove the `demo-image` command from `.ward/ward.yaml`. * Remove the Docker policy exception and route hint that exist solely for `ward exec demo-image`. * Remove references from README, the docs index, `docs/FEATURES.md`, contributor guidance, and other tracked files. * Audit release packaging and workflow inputs for assumptions about these paths. * If a real behavioral test depends on the toy repository shape, move only the minimum required data into an internal `testdata` fixture. Do not retain a public runnable toy. ## Acceptance * No tracked `docker/demo/`, `examples/toy/`, or `examples/demo.sh` paths remain. * No CLI, Make, Ward configuration, or documentation surface exposes `demo-image`. * No Docker permission exception remains solely for the deleted demo. * A repository-wide search finds no stale `ward-demo`, `demo-image`, or `examples/toy` references. * Product tests and repository validation pass. * `docs/FEATURES.md` no longer lists the public demo image. ## Non-goals * Removing Ward's production agent image. * Removing concise inline command examples from real product documentation. * Replacing the deleted material with another showcase application or image.
Author
Member

Decision resolved by Kai on 2026-08-05.

Use a hard deletion boundary:

  • Delete the demo image, toy application, demo script, dedicated test, Make and Ward commands, Docker policy exception, documentation, and every direct reference.
  • Add no redirect, tombstone command, compatibility warning, or replacement showcase.
  • Create internal testdata only if implementation proves that a real product behavior depends on a minimal fixture shape. Do not preserve a runnable public toy.
  • Keep concise documentation examples grounded in actual Ward commands and real repository configuration.

Current repository inspection found only the self-contained demo implementation and its direct links. No unrelated product test currently depends on the toy shape.

Decision resolved by Kai on 2026-08-05. Use a hard deletion boundary: * Delete the demo image, toy application, demo script, dedicated test, Make and Ward commands, Docker policy exception, documentation, and every direct reference. * Add no redirect, tombstone command, compatibility warning, or replacement showcase. * Create internal testdata only if implementation proves that a real product behavior depends on a minimal fixture shape. Do not preserve a runnable public toy. * Keep concise documentation examples grounded in actual Ward commands and real repository configuration. Current repository inspection found only the self-contained demo implementation and its direct links. No unrelated product test currently depends on the toy shape.
Author
Member

Landed and closed on canonical main in b9a587e3.

  • Deleted the public demo image, toy repository, runnable script, dedicated test, Make/Ward commands, and all three documentation pages.
  • Removed the Docker allow-wrapper exception and route hint while keeping the repository’s bare-Docker deny.
  • Removed the now-empty examples linter exception and direct README, docs-index, and feature-inventory references.
  • Preserved the real enforcement-boundary page with product-grounded wording. No product behavior needed replacement testdata.
  • Repository-wide absence checks passed for demo-image, ward-demo, examples/toy, and examples/demo.sh.
  • ward doctor, full tests, lint, vet, build, format, and full pre-commit all passed.
Landed and closed on canonical main in `b9a587e3`. * Deleted the public demo image, toy repository, runnable script, dedicated test, Make/Ward commands, and all three documentation pages. * Removed the Docker allow-wrapper exception and route hint while keeping the repository’s bare-Docker deny. * Removed the now-empty examples linter exception and direct README, docs-index, and feature-inventory references. * Preserved the real enforcement-boundary page with product-grounded wording. No product behavior needed replacement testdata. * Repository-wide absence checks passed for `demo-image`, `ward-demo`, `examples/toy`, and `examples/demo.sh`. * `ward doctor`, full tests, lint, vet, build, format, and full pre-commit all passed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/ward#1621
No description provided.