Skip to content

Bootstrap repository readiness - #60

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

Bootstrap repository readiness#60
codepress-dev[bot] wants to merge 1 commit into
masterfrom
codepress/dev@codepress.dev/you-are-orchestrating-repository-0dd99ddd

Conversation

@codepress-dev

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

Copy link
Copy Markdown
Contributor

Summary

This PR makes django-react-intro ready for repeatable CodePress review and verification. It adds automated PR screenshot capture, a Docker-based app-server startup path, and a local verification contract so future sessions can validate the public web app consistently.

Technical details

The repository is a legacy Create React App 1.0.10 frontend under web/ plus a separate Django 1.11 project under server/. The existing .codepress/dev-server/Dockerfile.web is a Live Dev Server hydration image and cannot run as a standalone container, so the grouped bootstrap preserves it and adds Dockerfile.codepress with a Node 18 base, Corepack-pinned Yarn 1.22.22, in-image installation from web/yarn.lock, and a foreground CRA start command on 0.0.0.0:3000. The generated start-app-server recipe records the runtime inputs and validated HTTP surface. The generated verify-local skill documents a frontend-only contract with an explicit JavaScript Accept header for its negative 404 probe because CRA's history fallback otherwise returns HTML 200 for unknown paths. Playwright is installed in web with a repo-local config that uses Node 18 for the legacy websocket-driver dependency.

Changes

  • Add the repo-owned pr-screenshot skill and Playwright configuration.
  • Add Dockerfile.codepress, root .dockerignore, and the start-app-server recipe/skill.
  • Add the verify-local skill with public HTTP, negative-path, UI screenshot, and log-review coverage.

Test plan

  • From web/, run npx --yes yarn@1.22.22 install --frozen-lockfile and invoke the generated pr-screenshot skill against /.
  • Invoke the generated start-app-server skill and verify forward_app_request GET / returns HTTP 200 with the CRA HTML shell.
  • Invoke the generated verify-local skill and confirm GET /, GET /manifest.json, the explicit-Accept missing JavaScript asset 404, the public heading screenshot, and runtime log review all pass.

Open items

  • The recipe intentionally targets the public web frontend; the separate Django server/REST Auth routes under server/ are documented but require a future backend-specific recipe if they need independent verification.

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

@lightninglu10 lightninglu10 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA verification review: the generated repository-readiness setup PR is ready for the repository-specific workflow review. Please confirm the generated local verification and app-server setup behavior in the originating CodePress bootstrap session.

@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 — django-react-intro

PR Head SHA: 2eb910e

Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-60-2eb910eb98b7dc3e1405695fadd00141fd562c77-3.json

Diff Trigger Inventory

Surface Location Contract item
App-server image and public CRA runtime Dockerfile.codepress #1, #2, #3, #4, #5
App-server recipe and health contract .codepress/start-app-server/recipe.json #1, #5
Real Chromium verification path web/e2e/playwright.config.ts, web/package.json, web/yarn.lock #4
Verification workflow .claude/skills/verify-local/SKILL.md and related generated skills #1#5
Public rendered page baseline web/src/containers/home/Home.js, route / #4
Static app asset baseline web/public/manifest.json, route /manifest.json #2
Negative static asset behavior CRA dev server, route /static/js/codepress_missing.js with Accept: application/javascript #3

The PR does not change the home component itself, but the orchestrator-required public UI probe was executed against the real rendered page.

Verification Contract Results

# Assertion Evidence class Result Details
1 Real GET / → 200 CRA HTML live-http ✅ PASS The real container returned HTTP 200 with Content-Type text/html; charset=UTF-8 and a CRA HTML shell containing the root mount and bundle script. Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-60-2eb910eb98b7dc3e1405695fadd00141fd562c77-3.json
2 Real GET /manifest.json → 200 live-http ✅ PASS The real container returned HTTP 200 with Content-Type application/json and the expected Create React App manifest body. Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-60-2eb910eb98b7dc3e1405695fadd00141fd562c77-3.json
3 Real GET /static/js/codepress_missing.js with Accept: application/javascript → 404 live-http ✅ PASS The real container returned HTTP 404 with Content-Security-Policy and X-Content-Type-Options headers and the Express Cannot GET diagnostic; no HTML history fallback was selected. Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-60-2eb910eb98b7dc3e1405695fadd00141fd562c77-3.json
4 Real Chromium screenshot and semantic assertion: public home heading is visible ui-artifact + live-execution ✅ PASS Chromium navigated to the real container URL, received HTTP 200, found exactly one role=heading named Welcome to React, and observed it visible with text Welcome to React. The screenshot is 20,960 bytes at /tmp/codepress-qa-verifier-runs/pr60-home-2eb910e.png. Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-60-2eb910eb98b7dc3e1405695fadd00141fd562c77-3.json
5 Runtime log review after exercising the contract logs ✅ PASS get_app_server_logs for container 07dac0250df063c1a06a17cf6e4c6ee7dc9a0a8420d5c9c6e5b2fe0b54e8a4e4 showed Starting the development server and Compiled successfully. No compile failure, request-time exception, or stack trace appeared. The http_parser deprecation and circular-dependency warnings are the documented legacy dependency warnings. Environment artifact: /tmp/codepress-qa-verifier-runs/verify-env-60-2eb910eb98b7dc3e1405695fadd00141fd562c77-3.json

Log Review

  • Container stdout showed a successful CRA compile.
  • No changed-behavior errors, compile failures, or request-time exceptions were observed.
  • Expected legacy Node 18 http_parser deprecation and shelljs circular-dependency warnings were present.

Preflight and Self-Audit

  • Exact live head matched the supplied artifact and requested PR head: 2eb910e.
  • Worktree was clean before and after verification.
  • The supplied environment artifact passed its repeated GET / health check and was reused; the parent owns the reusable container.
  • Requests reached the real container through the supported app-server proxy. No mock routes, fake responses, hand-started server, or direct handler invocation was used.
  • Chromium evidence includes both a visual screenshot and a live semantic locator assertion; the screenshot alone was not treated as semantic proof.
  • One initial Playwright module-resolution attempt from the repository root failed; the same live probe was rerun from web/, where the checked-in dependency resolved, and passed.

Container

  • ID: 07dac0250df063c1a06a17cf6e4c6ee7dc9a0a8420d5c9c6e5b2fe0b54e8a4e4
  • Stopped: no (parent-owned reusable environment)

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.

1 participant