Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: CI

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 20
services:
postgres:
image: postgres:15
env:
POSTGRES_DB: timetree_test
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
options: >-
--health-cmd "pg_isready -U postgres -d timetree_test"
--health-interval 5s
--health-timeout 5s
--health-retries 10
ports:
- 5432:5432
env:
ALLOWED_EMAIL: ci-user@example.test
BETTER_AUTH_SECRET: synthetic-ci-auth-secret-with-at-least-32-characters
BETTER_AUTH_URL: http://127.0.0.1:3187
DATABASE_URL: postgres://postgres:postgres@127.0.0.1:5432/timetree_test
DATABASE_URL_UNPOOLED: postgres://postgres:postgres@127.0.0.1:5432/timetree_test
GOOGLE_CLIENT_ID: synthetic-google-client-id
GOOGLE_CLIENT_SECRET: synthetic-google-client-secret

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Apply migrations
run: pnpm db:migrate

- name: Lint
run: pnpm lint

- name: Type check
run: pnpm typecheck

- name: Run unit tests
run: pnpm test

- name: Run integration tests
run: pnpm test:integration

- name: Build
run: pnpm build

- name: Install Chromium
run: pnpm exec playwright install --with-deps chromium

- name: Run desktop and mobile browser smoke tests
run: >-
pnpm test:e2e
--grep "renders the signed-out foundation|loads the dashboard"
26 changes: 12 additions & 14 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,25 @@ These instructions apply to the entire repository unless a more specific nested
Before editing files:

1. Read `SPEC.md`.
2. Read `IMPLEMENTATION_PLAN.md`.
3. Read `docs/session-workflow.md`.
4. Read `docs/model-effort-workflow.md` and recommend the lowest adequate effort
2. Read `docs/session-workflow.md`.
3. Read `docs/model-effort-workflow.md` and recommend the lowest adequate effort
for the task.
5. Confirm the current branch and worktree state.
6. Identify likely change locations and read every applicable nested
4. Confirm the current branch and worktree state.
5. Identify likely change locations and read every applicable nested
`AGENTS.md`.
7. Debrief the current phase or PR-sized unit with the user and obtain approval
6. Debrief the current PR-sized unit with the user and obtain approval
before implementation.

`SPEC.md` is the product and architecture authority.
`IMPLEMENTATION_PLAN.md` is the execution and verification authority. Resolve
conflicts explicitly before editing.
`docs/session-workflow.md` is the execution and verification process authority.
Resolve conflicts explicitly before editing.

Do not jump directly into scaffolding, dependency installation, schema changes,
or implementation.

## Phase alignment
## Work alignment

Before each phase or PR-sized unit, agree on:
Before each PR-sized unit, agree on:

- goal, non-goals, and stopping point;
- user-visible outcome;
Expand All @@ -37,7 +36,7 @@ Before each phase or PR-sized unit, agree on:
- commit and PR boundary;
- proportional independent-review strategy.

Do not begin the next phase without a new debrief and explicit approval.
Do not begin the next unit without a new debrief and explicit approval.

## Git and publication

Expand Down Expand Up @@ -73,15 +72,14 @@ Before declaring a PR-sized unit complete or preparing its PR:
6. Perform the approved QA when behavior or UI changed.
7. Resolve accepted QA findings, rerun affected checks, and obtain focused
independent re-review of material post-review changes.
8. Update completed items in `IMPLEMENTATION_PLAN.md`, then review all changes
made since the independent-review snapshot.
8. Review all changes made since the independent-review snapshot.
9. Report verification and QA evidence, review disposition, deviations, and remaining
scope to the user.

Use sequential commit units: prepare only one commit's diff at a time, then complete
its automated verification, review gate, user-approved QA when applicable, and
explicit commit approval before beginning the next commit's implementation. Propose
the intended sequence during the phase debrief. Do not batch several prepared commit
the intended sequence during the unit debrief. Do not batch several prepared commit
units into one review, QA, or approval cycle. After final evidence, obtain explicit
approval, create the commit, and confirm it succeeded before implementing the next
unit. Propose multiple PRs up front when the work would otherwise be too large for
Expand Down
Loading
Loading