diff --git a/.claude/launch.json b/.claude/launch.json deleted file mode 100644 index 35175c6..0000000 --- a/.claude/launch.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "version": "0.0.1", - "configurations": [ - { - "name": "intentlock-preview", - "runtimeExecutable": "/usr/bin/ruby", - "runtimeArgs": ["-run", "-e", "httpd", "/Users/harshabalakrishnan/Documents/IntentLock", "-p", "8765"], - "port": 8765 - } - ] -} diff --git a/.gitignore b/.gitignore index ce0b0b4..7f0bf61 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,11 @@ dist/ node_modules/ test-results/ playwright-report/ +xcuserdata/ +*.xcuserstate +*.tsbuildinfo +.claude/launch.json +.superpowers/ +data/app-state.json +data/app-state.json.lock +storage/logs/ diff --git a/CONTEXT.md b/CONTEXT.md index a7044d5..8be496a 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -1,13 +1,13 @@ # IntentLock — Work Done & Context Summary **Generated**: July 10, 2026 -**Primary Repository Path**: `/Users/harshabalakrishnan/Documents/Projects/IntentLock` +**Primary Repository Path**: `` **Base Branch**: `feat/flow-metrics-2026-07` --- ## 1. Executive Summary & Parallel Worktree Structure -To accelerate execution and keep task isolation clean, we structured our development across 5 isolated Git worktrees rooted at `/Users/harshabalakrishnan/Documents/Projects/IntentLock*`: +To accelerate execution and keep task isolation clean, we structured our development across 5 isolated Git worktrees rooted at ``: | Worktree Path | Branch Name | Task | Status | Commit SHA | Verification | |---|---|---|---|---|---| @@ -122,11 +122,11 @@ To accelerate execution and keep task isolation clean, we structured our develop ## 4. Next Steps & Recommended Workflow 1. **Complete IL-3 Implementation**: - Apply the exact `heuristic-policy.js`, `intervention-overlay.js`, `content.js`, `background.js`, and `intervention.html/js` edits in `/Users/harshabalakrishnan/Documents/Projects/IntentLock-il3`. Run `node --test tests/*.mjs` to confirm all unit tests pass, then commit on `feat/il-3-teach-overlay`. + Apply the exact `heuristic-policy.js`, `intervention-overlay.js`, `content.js`, `background.js`, and `intervention.html/js` edits in ``. Run `node --test tests/*.mjs` to confirm all unit tests pass, then commit on `feat/il-3-teach-overlay`. 2. **Merge & Resolve across Branches**: Merge | feat/il-2-session-form | IL-2 | Completed | Yes | Yes | | feat/il-3-teach-overlay | IL-3 | Completed | Yes | Yes | | feat/il-4-weekly-glance | IL-4 | Completed | Yes | Yes | -| feat/il-5-onboarding-default| IL-5 | Completed | Yes | Yes | inside `/Users/harshabalakrishnan/Documents/Projects/IntentLock`. +| feat/il-5-onboarding-default| IL-5 | Completed | Yes | Yes | inside ``. 3. **Run Final Suite**: Run `node --check *.js` and `node --test tests/*.mjs` on the merged `feat/flow-metrics-2026-07` branch to confirm 100% test passing before opening the final PR or tagging the release. diff --git a/docs/TASKS.md b/docs/TASKS.md index ec81a1a..dd61e6d 100644 --- a/docs/TASKS.md +++ b/docs/TASKS.md @@ -1,6 +1,6 @@ # IntentLock — Flow + metrics tasks -Source: `~/Desktop/product-flow-metrics-task-list.md` · Branch: `feat/flow-metrics-2026-07` +Source: `` · Branch: `feat/flow-metrics-2026-07` | ID | Task | Status | Notes | |----|------|--------|-------| diff --git a/docs/plans/2026-06-16-api-key-session-storage.md b/docs/plans/2026-06-16-api-key-session-storage.md index 8f64a9d..6e32db8 100644 --- a/docs/plans/2026-06-16-api-key-session-storage.md +++ b/docs/plans/2026-06-16-api-key-session-storage.md @@ -13,7 +13,7 @@ ### Task 1.1: Mock chrome.storage.session in Tests **Files:** -- Modify: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/tests/llm.test.mjs` +- Modify: `` **Step 1: Write mock for storage.session** Update `globalThis.chrome` in `tests/llm.test.mjs` to define `chrome.storage.session`. @@ -46,7 +46,7 @@ git commit -m "test: mock chrome.storage.session in llm test suite" ### Task 1.2: Update API Key Getter in llm.js **Files:** -- Modify: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/llm.js` +- Modify: `` **Step 1: Update getApiKey()** Modify `getApiKey()` to read from `chrome.storage.session` first, falling back to `chrome.storage.local`. @@ -92,7 +92,7 @@ git commit -m "security: update getApiKey helper to read from session storage wi ### Task 1.3: Implement Background Migration Logic **Files:** -- Modify: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/background.js` +- Modify: `` **Step 1: Implement migration on load/startup** Add migration function in background.js startup logic: @@ -125,7 +125,7 @@ git commit -m "security: implement automatic api key migration in background wor ### Task 1.4: Update Options Page logic (options.js) **Files:** -- Modify: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/options.js` +- Modify: `` **Step 1: Update Load, Save, and Delete logic** Modify `options.js` to query/migrate on load, save to `chrome.storage.session` on save, and clear session storage on delete. @@ -141,7 +141,7 @@ git commit -m "security: update options settings to use secure session storage f ### Task 1.5: Update Options HTML Page (options.html) **Files:** -- Modify: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/options.html` +- Modify: `` **Step 1: Modify settings description and add a notice** Update description text and notice under LLM Configuration. @@ -157,7 +157,7 @@ git commit -m "docs: update settings page descriptions for secure session storag ### Task 1.6: Update New Tab Page logic (newtab.js) **Files:** -- Modify: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/newtab.js` +- Modify: `` **Step 1: Check for API Key in session storage** Read API key from `chrome.storage.session` with fallback. diff --git a/docs/plans/2026-06-22-intervention-v2.md b/docs/plans/2026-06-22-intervention-v2.md index 1d3af8d..2ea3315 100644 --- a/docs/plans/2026-06-22-intervention-v2.md +++ b/docs/plans/2026-06-22-intervention-v2.md @@ -19,7 +19,7 @@ - Tab replacement remains **fallback** when content script cannot inject (e.g. chrome:// pages) - All new logic must have **Node unit tests** where testable (extract pure functions) - Run `node --test tests/*.mjs` after each task — all must pass -- Bump version to **1.4.0** on final task; sync `/Users/harshabalakrishnan/Documents/Intentlock` +- Bump version to **1.4.0** on final task; sync `` --- @@ -118,7 +118,7 @@ - Modify: `newtab.js` (active session monitoring hint) - Modify: `manifest.json` (version 1.4.0) - Modify: `CHANGELOG.md` -- Sync: `/Users/harshabalakrishnan/Documents/Intentlock` +- Sync: `` **Steps:** 1. Add one-line hint on active session: monitoring via tab switches, page loads, dwell time diff --git a/docs/plans/2026-06-22-ui-audit-fixes.md b/docs/plans/2026-06-22-ui-audit-fixes.md index 0f46d7c..51b418d 100644 --- a/docs/plans/2026-06-22-ui-audit-fixes.md +++ b/docs/plans/2026-06-22-ui-audit-fixes.md @@ -2,7 +2,7 @@ **Goal:** Address the top 5 userinterface-wiki findings from the IntentLock UI audit. -**Architecture:** CSS token and utility updates in `newtab.css`; accessibility and modal behavior in `newtab.js`; progressive disclosure and validation in `options.html` / `options.js`; smoke tests in `tests/static-smoke.test.mjs`. Sync loadable copy to `/Users/harshabalakrishnan/Documents/Intentlock` after all tasks. +**Architecture:** CSS token and utility updates in `newtab.css`; accessibility and modal behavior in `newtab.js`; progressive disclosure and validation in `options.html` / `options.js`; smoke tests in `tests/static-smoke.test.mjs`. Sync loadable copy to `` after all tasks. ## Global Constraints @@ -93,7 +93,7 @@ Add `font-variant-numeric: tabular-nums` to: ## Task 6: Sync loadable extension folder -**Files:** Copy runtime assets to `/Users/harshabalakrishnan/Documents/Intentlock` +**Files:** Copy runtime assets to `` Copy all extension runtime files (same set as prior sync). Verify manifest version unchanged unless intentionally bumped. diff --git a/docs/superpowers/plans/2026-06-22-heuristic-self-setup.md b/docs/superpowers/plans/2026-06-22-heuristic-self-setup.md index 1147fd0..9a058f5 100644 --- a/docs/superpowers/plans/2026-06-22-heuristic-self-setup.md +++ b/docs/superpowers/plans/2026-06-22-heuristic-self-setup.md @@ -119,7 +119,7 @@ test('vague single-word intent returns low confidence', () => { - [ ] **Step 2: Run to verify the file is missing (expected failure)** ```bash -cd /Users/harshabalakrishnan/Documents/Projects/IntentLock +cd node --test tests/heuristic-policy.test.mjs ``` Expected: `Error: Cannot find module '../heuristic-policy.js'` diff --git a/docs/superpowers/plans/2026-06-23-product-review-improvements.md b/docs/superpowers/plans/2026-06-23-product-review-improvements.md index d377524..91609a0 100644 --- a/docs/superpowers/plans/2026-06-23-product-review-improvements.md +++ b/docs/superpowers/plans/2026-06-23-product-review-improvements.md @@ -18,7 +18,7 @@ - Domain validation for any user-entered domain text: `HOSTNAME_RE = /^[a-z0-9][a-z0-9\-.]*\.[a-z]{2,}$/` - Match existing code style: minimal comments, ES modules, no TypeScript, `createElement` for all DOM - Tests use `node:test` + `assert/strict` — no Jest, no Mocha, no external test runner -- The extension is tested in the `/Users/harshabalakrishnan/Documents/Projects/IntentLock` directory (primary repo) +- The extension is tested in the `` directory (primary repo) - Current version: 1.5.0 (manifest.json). Final task bumps to 1.6.0. - Branch: `feature/product-review-improvements` (already created) @@ -126,7 +126,7 @@ container.appendChild(histLink); - [ ] **Step 5: Commit** ```bash -cd /Users/harshabalakrishnan/Documents/Projects/IntentLock +cd git add newtab.js git commit -m "feat: add top drifted sites and history link to session summary" ``` @@ -297,7 +297,7 @@ Insert this block after the session-active display logic (so it appears below th - [ ] **Step 7: Run all tests** ```bash -cd /Users/harshabalakrishnan/Documents/Projects/IntentLock +cd node --test tests/llm-backoff.test.mjs node --test tests/background.test.mjs ``` diff --git a/docs/superpowers/plans/2026-09-13-trust-first-completion.md b/docs/superpowers/plans/2026-09-13-trust-first-completion.md index 049f4b1..c7ac63a 100644 --- a/docs/superpowers/plans/2026-09-13-trust-first-completion.md +++ b/docs/superpowers/plans/2026-09-13-trust-first-completion.md @@ -11,7 +11,7 @@ ## Resume here - Current checkpoint: Task 1 specification approved at `13cb946`; independent quality review is running. Tasks 2–6 have not started. Do not mark Task 1 accepted until the quality gate passes. No current-turn runtime commits pushed yet. Execution-log entries below are historical checkpoints in order, not simultaneous current statuses. -- Working directory: `/Users/harshabalakrishnan/Documents/Projects/IntentLock/.worktrees/browser-journeys`. +- Working directory: ``. - Branch: `feat/browser-journeys`; initial HEAD `5df4f3d5ac4b1fd9c0b34c32dc20ed299008e5c5`. - Existing draft PR: https://github.com/harshabala/IntentLock/pull/6. Main is `195f57f20f2d9f7206e99fad74c987df65a3b96d`. Recheck before resuming. - Read `../specs/2026-09-13-trust-first-design.md` relative to this plan directory. User approved the design direction and execution; do not restart brainstorming.