Skip to content

ASH-45 / ASH-46: add project context data and HTTP API - #17

Closed
Asherggg wants to merge 3 commits into
chuspeeism:mainfrom
Asherggg:agent/ash-45-project-context-api
Closed

ASH-45 / ASH-46: add project context data and HTTP API#17
Asherggg wants to merge 3 commits into
chuspeeism:mainfrom
Asherggg:agent/ash-45-project-context-api

Conversation

@Asherggg

@Asherggg Asherggg commented Aug 5, 2026

Copy link
Copy Markdown

Summary

  • Add repeatable SQLite and D1 project-context schemas, shared DTOs, strict cursors, and brief generation.
  • Expose eight local/Worker-parity context endpoints with optimistic versions, idempotent creates, revisions, archive/restore, Basic Auth, and global revision tracking.
  • Preserve context during one-time local-to-cloud migration and make cloud mode fail explicitly without local fallback or double writes.

Verification

  • npm run typecheck (pass)
  • npm run build (pass)
  • npm run test:cloud (18/18 pass)
  • node --test test/project-context.test.mjs (4/4 pass)
  • node --test test/cloud-migration.test.mjs (18/18 pass)
  • npm run check (359 total, 341 pass, 18 known baseline failures; no new failures)

Related issues: ASH-45, ASH-46

Asherggg added a commit to Asherggg/dashi-taskboard that referenced this pull request Aug 8, 2026
Integrates the QM Lite project shared context data layer and HTTP API
(PR chuspeeism#17, branch agent/ash-45-project-context-api) with upstream main.

Conflict resolution (4 files, 3-way merge against merge base 677b544):
- test/helpers/cloud-worker-harness.mjs: kept main's migration loader. Both
  sides evolved the same base independently; main's globs every numbered .sql
  AND splits statements trigger-aware, which 0002_project_context.sql requires
  for its global_revision trigger. PR chuspeeism#17's naive per-file exec would break it.
- cloud/src/index.mjs, server/app.mjs, server/database.mjs: independent
  additions at a shared insertion point (empty merge base) - kept both sides.

Follow-up fixes:
- Relocated the context helpers below parseProjectCreate so they fall outside
  the source-slice window asserted by test/pr-review-regressions.test.mjs.
  PR chuspeeism#17's updateContextEntry(..., changes, ...) parameter otherwise tripped a
  guard meant for the task_activities.changes column. Declarations hoist, so
  this is behaviour-neutral.
- Completed expectedCloudBaselineCounts() with project_context_entries and
  project_context_revisions, matching the convention PR chuspeeism#17 already applied to
  its sibling fixtures.

Verified on the merged tree: typecheck clean, build clean, 403/403 tests pass.
Upstream main baseline was 393/393, so this adds 10 tests with no regressions.

jadon7 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Thank you for the project Context API foundation. #36 explicitly carries forward the prerequisite API from this PR and builds the Codex plugin tools on top of it. To avoid maintaining two conflicting infrastructure paths, #36 is now the canonical implementation and this PR is closed.

@jadon7 jadon7 closed this Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants