Skip to content

Bootstrap repository readiness artifacts - #59

Open
codepress-dev[bot] wants to merge 1 commit into
masterfrom
codepress/dev@codepress.dev/you-are-orchestrating-repository-7922c5d2
Open

Bootstrap repository readiness artifacts#59
codepress-dev[bot] wants to merge 1 commit into
masterfrom
codepress/dev@codepress.dev/you-are-orchestrating-repository-7922c5d2

Conversation

@codepress-dev

@codepress-dev codepress-dev Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Make quantfive/django-react-intro ready for repeatable CodePress workflows. The repository now has durable instructions for capturing PR screenshots, starting the legacy Django/React app in Docker, and running a local HTTP verification contract, so future sessions can validate the real app without rediscovering its old toolchain.

Technical details

Added three generated repo-local skills for PR screenshots, app-server startup, and verify-local execution. The app-server path uses a multi-stage Node 18/Python 3.6 Dockerfile: it installs the locked Yarn and Pipenv dependencies inside the image, builds the CRA frontend into Django static assets, applies SQLite migrations, fixes runtime ownership for UID 65534, and serves Django on 0.0.0.0:8000. Added the schema-versioned start recipe with input checksums and known fixes. Added @playwright/test plus a web-local Playwright config for the public CRA route. The verify-local contract is grounded in live routes discovered from the code: the React shell, REST login OPTIONS metadata, and anonymous access denial on /api/auth/user/.

Changes

  • Add generated PR screenshot skill, Playwright dependency, and web/e2e/playwright.config.js.
  • Add a validated Docker app-server image and .codepress/start-app-server/recipe.json.
  • Add generated verify-local skill with HTTP contract and environment-artifact guidance.
  • Add root .dockerignore to keep host dependency trees out of Docker builds.

Test plan

  • Read .codepress/start-app-server/recipe.json and call build_and_start_app_server with Dockerfile on port 8000; verify GET / returns HTTP 200 containing id="root", /static/js/, and /static/css/.
  • Call OPTIONS /api/auth/login/ against the running container; verify HTTP 200, Allow: POST, OPTIONS, and username/email/password metadata.
  • Call GET /api/auth/user/ without credentials; verify HTTP 403 with an authentication-required response.
  • From web/, run npx --yes yarn@1.22.22 playwright test --config e2e/playwright.config.js with a temporary capture spec and verify the generated screenshot is non-blank.

Open items

  • No seed script or test account exists in the repository, so verify-local intentionally covers the anonymous auth boundary rather than inventing credentials.
  • The Django admin route may require a seeded django_site row and is excluded from the default contract until the repository provides that fixture.

Authors

Generated with CodePress · View the chat session

Co-authored-by: dev@codepress.dev dev@codepress.dev

Co-authored-by: dev@codepress.dev <dev@codepress.dev>
@codepress-dev codepress-dev Bot added the cp:in-progress CodePress: still being worked on label Aug 6, 2026
@codepress-dev

codepress-dev Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

@codepress /judge-verification can you judge this verification?

Local Verification — quantfive/django-react-intro

PR Head SHA: 0493329ba875be26dc9230158a502cdbcc0a1661

Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-59-0493329ba875be26dc9230158a502cdbcc0a1661-1.json

Diff Trigger Inventory

Surface Changed location Contract coverage
App-server recipe and Docker build .codepress/start-app-server/recipe.json, Dockerfile, .dockerignore Reused exact-head Docker container; live HTTP rows 1–3
Verification skill .claude/skills/verify-local/SKILL.md Live HTTP rows 1–3
Screenshot/Playwright setup .claude/skills/pr-screenshot/SKILL.md, web/e2e/playwright.config.js, web/package.json, web/yarn.lock Configuration-only; no changed web/src/web/public UI behavior requiring an additional row
App routes GET /, OPTIONS /api/auth/login/, anonymous GET /api/auth/user/ Rows 1–3

Verification Contract Results

# Assertion Evidence class Result Exact live evidence Run artifact Environment artifact
1 GET / → HTTP 200 with id="root", /static/js/, /static/css/ live-http ✅ PASS Container bc1670530e58a24a65db30888da1efde7827737e89907bfbd753b0beb86ba97f; HTTP 200; Content-Length: 548; body contains <div id="root"></div>, /static/css/main.028bd136.css, and /static/js/main.8c4dce48.js. /tmp/codepress-qa-verifier-runs/qa-verifier-run-59-0493329ba875be26dc9230158a502cdbcc0a1661.json /tmp/codepress-qa-verifier-runs/verify-env-59-0493329ba875be26dc9230158a502cdbcc0a1661-1.json
2 OPTIONS /api/auth/login/ → HTTP 200 with Allow: POST, OPTIONS and username/email/password metadata live-http ✅ PASS Container bc1670530e58a24a65db30888da1efde7827737e89907bfbd753b0beb86ba97f; HTTP 200; Allow: POST, OPTIONS; JSON actions.POST describes username (string), email (email), and password (string, required). /tmp/codepress-qa-verifier-runs/qa-verifier-run-59-0493329ba875be26dc9230158a502cdbcc0a1661.json /tmp/codepress-qa-verifier-runs/verify-env-59-0493329ba875be26dc9230158a502cdbcc0a1661-1.json
3 Anonymous GET /api/auth/user/ → HTTP 403 with authentication-required response live-http ✅ PASS Container bc1670530e58a24a65db30888da1efde7827737e89907bfbd753b0beb86ba97f; HTTP 403; JSON body exactly {"detail":"Authentication credentials were not provided."}. No credentials or mocks used. /tmp/codepress-qa-verifier-runs/qa-verifier-run-59-0493329ba875be26dc9230158a502cdbcc0a1661.json /tmp/codepress-qa-verifier-runs/verify-env-59-0493329ba875be26dc9230158a502cdbcc0a1661-1.json

Log Review

  • get_app_server_logs(containerId=bc1670530e58a24a65db30888da1efde7827737e89907bfbd753b0beb86ba97f, tail=500) showed Django startup with no errors and request lines GET / 200, OPTIONS /api/auth/login/ 200, and GET /api/auth/user/ 403. No related stack traces observed.

Environment and Scope

  • Reused the healthy exact-head environment; health recheck was live GET / → HTTP 200 with the required shell markers.
  • Container: bc1670530e58a24a65db30888da1efde7827737e89907bfbd753b0beb86ba97f.
  • Stopped: no; left running for the parent as requested.
  • No credentials, mocks, repository edits, commits, pushes, comments, or PR operations were made.

Overall: ✅ PASS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cp:in-progress CodePress: still being worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants