[1] Repository scaffold #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Create the repository and runtime foundation for the LawNet/eLitigation catalog.
Scope
.env.example,.gitignore, andJustfile.services/data-ingest,services/flyway, andservices/web.backend,egress, andweb-edgenetworks.127.0.0.1:3406:3000.Completion criteria
127.0.0.1:3406.Closure
Complete all child issues, or merge a feature-branch pull request that resolves this issue.
Detailed requirements:
docs/plans/high-level-plan.md, Phase 1.Implementation record
This issue will be implemented as one feature without child issues. The publishable work is on
feat/1-repository-scaffold; local-only planning/reference files remain in the Jujutsulcommit.Confirmed decisions
uv, Node.js22.22.3selected throughfnm/.node-version, and pnpm 10.catalogandingestschemas remain Phase 2 work.compose.yaml.127.0.0.1:3406:3000. PostgreSQL, Flyway, scheduler, and worker publish no host ports.just downpreserves it.backend; worker also joinsegress; web also joinsweb-edge..env.examplecontains usable development defaults and all planned configuration variables.INTERNAL_API_TOKENmay remain blank/disabled during this phase.1, which contained an already-rotated token, is removed and will not enter history.AGENT.mdand other unpublished planning/reference material in the local-onlylcommit.Flyway and health design
Readiness is checked at three levels:
pg_isready.service_completed_successfullyand cannot start until migration succeeds.GET /healthchecks PostgreSQL connectivity and queriespublic.flyway_schema_history, requiring the successful V1 bootstrap migration and no failed migration entries. It returns HTTP 503 without exposing SQL errors or credentials when dependencies are unavailable.Scheduler and worker placeholder behavior
Both processes:
Worker outbound access is verified only by an explicit Compose smoke check using HTTPS connections to the documented LawNet and eLitigation hosts; startup does not contact either source.
Verification target
The automated checks will cover package tests/lint/type checking plus:
/healthdatabase/Flyway readiness.Current progress
Repository topology and feature bookmark are established. Root Compose/configuration, the Flyway bootstrap, Python service skeleton, TanStack Start web skeleton, Dockerfiles, Justfile, README, and smoke-test harness have been drafted. Lockfile generation, formatting, builds, runtime smoke testing, and final fixes are still in progress.
Implementation complete
The scaffold has been implemented and published in PR #11.
Delivered
fnm./healthreporting process, PostgreSQL, and Flyway schema-history readiness without leaking dependency errors.backend,egress, andweb-edgetopology.127.0.0.1:3406:3000is published; every other service has no host port.uvand web/pnpm package roots with lockfiles, linting, formatting, type checking, and unit tests..env.example,.gitignore,compose.yaml,Justfile, README documentation, Dockerfiles, and Compose smoke harness.Verification completed
just configjust lintjust typecheckjust testResults:
/healthreturned200with PostgreSQL connected and Flyway ready.just downstopped the stack while preservinglawnet-scraper_postgres-data.The publishable feature is commit
5cdd1a9d7a7aonfeat/1-repository-scaffold. Local-only files remain in the unpushedldescendant and are not part of the PR.PR split
The original combined PR #11 has been closed without merge and replaced by four service-scoped stacked PRs:
main, 484 lines includinguv.lock.feat/1-data-ingest-scaffold, 3 lines.feat/1-flyway-scaffold, 445 non-lockfile lines plus the required generated 4,544-linepnpm-lock.yaml.feat/1-web-scaffold, 352 lines, and retainsResolves #1.Merge in numerical order. Each PR contains only its stated service/wiring scope. Forgejo's changed-file lists were checked and contain no
node_modules,.output, virtual environments, or cache directories.Verification was rerun after splitting:
just config,just lint,just typecheck, andjust test, including full Compose health/network/port/egress assertions.