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
14 changes: 7 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Overview

This repository is a template with sensible defaults for building Tauri React apps.
This repository is **Job Command Center** — a Tauri 2 desktop hub for an automated job-search pipeline (job tracker, ATS submission adapters, Gmail follow-ups, interview prep, analytics). Forked from dannysmith/tauri-template.

## First Read

Expand All @@ -14,13 +14,13 @@ This repository is a template with sensible defaults for building Tauri React ap

## Core Rules

- Use `npm` only. This project does not use `pnpm`.
- Use `pnpm`. This project does not use `npm`.
- Read files before editing and follow established repo patterns.
- Keep changes scoped to the requested task.
- Consider performance, maintainability, and testability for non-trivial changes.
- Match existing formatting and code style.
- Write meaningful tests for business logic.
- Run `npm run check:all` after significant changes when validation is approved.
- Run `pnpm run check:all` after significant changes when validation is approved.
- Do not start a dev server unless the user asks for it or says they will run it.
- Do not commit unless explicitly requested.
- Update relevant `docs/developer/` files when adding or changing durable patterns.
Expand All @@ -38,7 +38,7 @@ This repository is a template with sensible defaults for building Tauri React ap

## Static Analysis And Quality

- `npm run check:all` is the main quality gate.
- `pnpm run check:all` is the main quality gate.
- `check:all` includes TypeScript, ESLint, ast-grep, Prettier check, Rust fmt/clippy, Vitest, and Rust tests.
- React Compiler handles memoization; do not add manual `useMemo`, `useCallback`, or `React.memo` unless there is a clear local reason.
- ast-grep enforces architecture patterns such as no Zustand destructuring.
Expand Down Expand Up @@ -72,9 +72,9 @@ This repository is a template with sensible defaults for building Tauri React ap

- `.codex/verify.commands` is the canonical verifier for routine Codex work.
- Current canonical verifier:
- `npm ci`
- `npm run check:all`
- `npm run build`
- `pnpm install --frozen-lockfile`
- `pnpm run check:all`
- `pnpm run build`
- If a command is missing, unclear, or unsafe to run, stop and report the blocker instead of guessing.

## Boundaries
Expand Down
8 changes: 4 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ The repo has moved beyond its template origin into a polished v1.0 posture with

## How To Run

- Use `npm` only; this repo does not use pnpm.
- Run the app with the documented npm scripts from `package.json`.
- Run `npm run check:all` after significant changes.
- Use `pnpm`. This repo does not use `npm` — see the Gotchas section above.
- Run the app with the documented pnpm scripts from `package.json`.
- Run `pnpm run check:all` after significant changes.
- Ask the operator to run the dev server when interactive app feedback is needed.

## Known Risks
Expand All @@ -90,6 +90,6 @@ The repo has moved beyond its template origin into a polished v1.0 posture with

## Next Recommended Move

Keep the active local branch focused on the existing lockfile/sidecar cleanup, then use `npm run check:all` and targeted sidecar health checks before changing submission automation, Gmail follow-up, or credential behavior.
Keep the active local branch focused on the existing lockfile/sidecar cleanup, then use `pnpm run check:all` and targeted sidecar health checks before changing submission automation, Gmail follow-up, or credential behavior.

<!-- portfolio-context:end -->
187 changes: 187 additions & 0 deletions DOC-RECONCILIATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
# DOC-RECONCILIATION.md

This file was generated by the `/doc-truth-up` documentation-reconciliation pass. The pass treats the code as read-only ground truth and edits only documentation so it reflects the repo's actual current state. No code was changed and no builds or tests were executed. Evidence is derived entirely by reading source files, manifests, test files, and git history.

---

## Per-Claim Findings

### 1. What It Is

**Status: drifted → fixed**
Evidence: `src-tauri/Cargo.toml:2-3`, `src-tauri/tauri.conf.json:2`, `CHANGELOG.md:1`, all component directories under `src/`.

The `README.md` title and entire framing described the upstream template ("Tauri React Template — a batteries-included template for building production-ready desktop applications") rather than the actual deployed application. The `AGENTS.md` Overview said "This repository is a template with sensible defaults for building Tauri React apps."

**Fixed:**
- `README.md`: Replaced the template title and framing with the actual app name and description ("Job Command Center — Tauri 2 desktop hub for an automated job-search pipeline").
- `AGENTS.md` Overview: Replaced "template" identity with the correct app description.

---

### 2. Current State

**Status: drifted → fixed (README, userguide); consistent (CHANGELOG, CLAUDE.md)**
Evidence: `src/components/tracker/`, `src/components/submit/`, `src/components/followup/`, `src/components/interview/`, `src/components/pipeline/`, `sidecar/src/adapters/`, `sidecar/src/services/`, `CHANGELOG.md:1-36`.

`README.md` listed only the template infrastructure features (Command Palette, Quick Pane, Preferences, etc.) and omitted all ten sessions of JCC v1.0 work: Tracker Board, all seven ATS adapters, Submit Console, Follow-up Manager, Interview Prep, Analytics Dashboard. The `docs/userguide/userguide.md` similarly described only template features, with no mention of the actual application's views.

**Fixed:**
- `README.md` "What's Built" section: replaced template feature list with the full JCC v1.0 feature set.
- `docs/userguide/userguide.md`: complete rewrite from template placeholder to JCC user guide covering Tracker, Submit Console, Follow-up Manager, Interview Prep, Analytics, and Settings.

`CHANGELOG.md` accurately documents v1.0.0. `CLAUDE.md` accurately describes v1.0 and the v1.1 backlog. Both left unchanged.

---

### 3. Stack

**Status: drifted → fixed**
Evidence: `package.json:128-133` (pnpm config), `sidecar/pyproject.toml`, `src-tauri/Cargo.toml:39` (sqlx).

`README.md` Stack table showed only the frontend and desktop layers, omitting the Python sidecar. It also showed "Tauri v2, Rust" without naming the database layer. The actual stack includes a Python 3.12 FastAPI sidecar (port 9876) with Playwright, Anthropic SDK, Gmail OAuth, and ATS clients, plus SQLite via sqlx (not tauri-plugin-sql as originally planned).

**Fixed:**
- `README.md` Stack table: added Sidecar row (Python 3.12, FastAPI), updated Desktop row to name SQLite/sqlx.

---

### 4. How to Run

**Status: drifted → fixed**
Evidence: `package.json:127-133` (pnpm `onlyBuiltDependencies` key present), `CLAUDE.md:12` ("pnpm, NOT npm — see Gotchas"), `pnpm-workspace.yaml` present (untracked in git status).

Multiple docs stated the package manager is `npm` when it is actually `pnpm`:

| File | Old claim | Fixed to |
|---|---|---|
| `README.md` Quick Start | `npm install` | `pnpm install` |
| `AGENTS.md` Core Rules | "Use `npm` only. This project does not use `pnpm`." | "Use `pnpm`. This project does not use `npm`." |
| `AGENTS.md` Static Analysis | `npm run check:all` | `pnpm run check:all` |
| `AGENTS.md` Verification | `npm ci` / `npm run check:all` / `npm run build` | pnpm equivalents |
| `CLAUDE.md` Portfolio Context "How To Run" | "Use `npm` only; this repo does not use pnpm." | "Use `pnpm`." |
| `CLAUDE.md` Portfolio Context "Next Recommended Move" | `npm run check:all` | `pnpm run check:all` |
| `docs/CONTRIBUTING.md` Setup | `npm install` / `npm run dev` / `npm run check:all` | pnpm equivalents |
| `docs/CONTRIBUTING.md` Quality Gates | `npm run check:all` | `pnpm run check:all` |

Also fixed: `docs/CONTRIBUTING.md` listed Node.js v18+ as a prerequisite; `package.json:9` specifies `"node": ">=20.0.0"`. Fixed to v20+.

Also fixed: `README.md` Quick Start listed Node.js 18+ — updated to 20+.

---

### 5. Known Risks

**Status: partially consistent, partially unverifiable**
Evidence: `sidecar/src/adapters/`, `src-tauri/src/commands/credentials.rs`, `CLAUDE.md` Gotchas section.

`CLAUDE.md` accurately documents risks: Playwright fragility, Keychain credential storage, PII logging prohibition, migration immutability, sidecar health edge cases. Left unchanged.

`README.md` had no risk section (template didn't need one). The new README includes credential setup requirements but not a full risk register — consistent with what the code supports without speculating beyond it.

The `CLAUDE.md` Portfolio Context "Known Risks" bullet "Existing local changes touch the lockfile, sidecar binary, and local Claude skills" is **unverifiable** — it references transient local state that cannot be confirmed from the committed code. Left unchanged per policy.

---

### 6. Next Move

**Status: consistent (CLAUDE.md), unverifiable (everywhere else)**
Evidence: `CLAUDE.md:53-55` (v1.1 backlog list).

`CLAUDE.md` accurately documents the v1.1 backlog (#11–#21) and post-v1.0 ideas. Left unchanged.

`IMPLEMENTATION-ROADMAP.md` and `IMPLEMENTATION-PLAN.md` reflect the original planning arc and are now historical documents — accurate as plans, not as current-state descriptions. Not editable per the doc-truth-up scope; flagged below if drift is found.

---

## Contradictions for Manual Review

These are drifts in files outside the editable scope (`README.md`, `CLAUDE.md`, `AGENTS.md`, `DOC-RECONCILIATION.md`, `docs/`). A human should apply the listed fix.

### `.codex/verify.commands` — wrong package manager

**Path:** `.codex/verify.commands:2-4`

```
npm ci
npm run check:all
npm run build
```

**Should be:**
```
pnpm install --frozen-lockfile
pnpm run check:all
pnpm run build
```

The project uses pnpm. These commands will fail with a missing `npm ci` equivalent and a stale `package-lock.json`.

---

### `src-tauri/tauri.conf.json` — template placeholders and wrong descriptions

**Path:** `src-tauri/tauri.conf.json:51-54`

```json
"shortDescription": "A Tauri React template application",
"longDescription": "A modern Tauri React template with comprehensive boilerplate code...",
```

**Should be:** Descriptions matching the actual app (Job Command Center, automated job-search pipeline).

**Path:** `src-tauri/tauri.conf.json:67`

```
"https://github.com/YOUR_USERNAME/YOUR_REPO/releases/latest/download/latest.json"
```

**Should be:** The actual GitHub releases endpoint for this repo. The auto-updater will not work until this is filled in.

---

### `docs/USING_THIS_TEMPLATE.md` — template setup doc should be removed

**Path:** `docs/USING_THIS_TEMPLATE.md:3`

> "This document is specific to the template and should be deleted once you're comfortable with your new project."

The file's own first paragraph says to delete it. Since the project is at v1.0, this file is now dead weight. A human should delete it.

---

### `docs/CONTRIBUTING.md` — template GitHub URL placeholder

**Path:** `docs/CONTRIBUTING.md:16`

```
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
```

**Should be:** The actual GitHub URL for this repo. Cannot be determined from code; unverifiable.

---

### `docs/SECURITY.md` — email placeholder

**Path:** `docs/SECURITY.md` (not read in full, but `docs/USING_THIS_TEMPLATE.md:52` notes it contains `YOUR_SECURITY_EMAIL` placeholder).

**Should be:** A real security contact email.

---

### `CLAUDE.md` — "tauri-plugin-sql" vs sqlx

**Path:** `CLAUDE.md:7`

> "SQLite CRUD via tauri-plugin-sql"

**Actual:** `src-tauri/Cargo.toml:39` shows `sqlx = { version = "0.8", features = ["sqlite", "runtime-tokio"] }` — no `tauri-plugin-sql` dependency. The original `IMPLEMENTATION-ROADMAP.md` planned for `tauri-plugin-sql` but `sqlx` was used instead. This is a minor architectural description inaccuracy in the main CLAUDE.md body; left unchanged here because it does not affect functionality guidance, but a human may want to correct the label.

---

## Footer

**Generated:** 2026-06-02 19:32:05 PDT
**Branch:** `docs/truth-up-2026-06-02`
**HEAD sha reconciled against:** `aa2315ec204f6dfe3c4c01d2fc15c6ec82c2d269`
Loading
Loading