28 Commits

Author SHA1 Message Date
coreci 8db45e478b docs(release): v0.2.5 published — approved milestone release; ledger closed for v0.2
---ci---
phase: 5
milestone: v0.2
status: complete
escalation:
  type: deploy
  hook: deploy
  resolution: auto
  directive: milestone release publication post-approval
  message: >-
    The approved milestone release v0.2.5 published. Gitea release
    retitled to note the recorded approval (decision 4721c2a) and
    G-009 ratification. The deployed container at
    https://research.coreci.dev already serves the release content
    (the v0.2.5-uat staging was built from the same milestone HEAD
    as the merged release) - no redeploy needed. DEPLOY-RECORD
    ledger row added; v0.2 milestone cycle closed.
requirements:
  covered: []
  partial: []
---/ci---
2026-09-29 15:29:21 +00:00
coreci 702d3aae71 chore(milestone): clear checkpoint — v0.2-mvp complete
---ci---
phase: 5
milestone: v0.2
status: complete
message: >-
  Milestone v0.2-mvp COMPLETE and APPROVED. Checkpoint cleared per
  the run workflow: the next /ci-run starts milestone v0.3 at
  phase 0 (pre-execution: specify, clarify, research, plan,
  grill, mvp/ux check), which config.json now points at (tag line
  v0.3.x). v0.3 scope is pending owner direction: live-bound
  library/settings/suggestions/refine surfaces (G-009 ratified
  scope), backend hosting for the LXC deployment, and the remaining
  6 methodologies from the locked catalog.
requirements:
  covered: [REQ-01, REQ-02, REQ-03, REQ-04, REQ-05, REQ-06, REQ-07, REQ-08, REQ-09, REQ-10, REQ-11, REQ-12, REQ-13, REQ-14, REQ-15, REQ-16, REQ-17, REQ-18, REQ-19, REQ-20, REQ-21, REQ-22, REQ-23, REQ-24, REQ-25, REQ-26, REQ-31, REQ-32, REQ-33, REQ-34]
  partial: []
---/ci---

Milestone branch will be deleted (local + remote); tags
v0.2.0-v0.2.5 and the main merge (b11b202) preserve the full
history. v0.3 unblocked.
2026-09-29 15:28:52 +00:00
coreci-bot b11b202271 milestone: v0.2 MVP — approved, merge to main (#15) 2026-09-29 15:28:45 +00:00
coreci 42435bc3b3 chore(milestone): clear checkpoint — v0.1-prototype complete
---ci---
phase: 8
milestone: v0.1
status: complete
message: >-
  Milestone v0.1-prototype COMPLETE and APPROVED. Checkpoint cleared
  per the run workflow: the next /ci-run starts milestone v0.2-mvp
  at phase 0 (pre-execution: specify, clarify, research, plan),
  which config.json now points at (tag line v0.2.x).
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56, REQ-57, REQ-58, REQ-59, REQ-60, REQ-61, REQ-62, REQ-63, REQ-64, REQ-65, REQ-66, REQ-67, REQ-68]
  partial: []
---/ci---

Milestone branch deleted (local + remote); tags v0.1.0-v0.1.8 and the
main merge (d6ddcfe) preserve the full history. v0.2-mvp unblocked.
2026-09-27 10:06:08 +00:00
coreci cd01901183 docs(release): v0.1.8 published — approved milestone release deployed
---ci---
phase: 8
milestone: v0.1
status: complete
escalation:
  type: deploy
  hook: deploy
  resolution: auto
  directive: milestone release publication post-approval
  message: >-
    The approved milestone release v0.1.8 deployed to the LXC host
    (plain tag, not -uat): gates green at the tagged tree, container
    swapped, health check passed. Gitea release renamed to note the
    recorded approval. DEPLOY-RECORD ledger updated.
requirements:
  covered: [REQ-62]
  partial: []
---/ci---

Fifth deploy row: v0.1.8 (release) -> 93a7b57 at the tag. The
container at http://10.0.0.114:3000 now serves the approved
prototype.
2026-09-27 10:05:55 +00:00
coreci 5a8de00d63 docs(milestone): complete v0.1-prototype — approved and released
---ci---
phase: 8
milestone: v0.1
status: complete
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56, REQ-57, REQ-58, REQ-59, REQ-60, REQ-61, REQ-62, REQ-63, REQ-64, REQ-65, REQ-66, REQ-67, REQ-68]
  partial: []
---/ci---

Milestone v0.1-prototype complete: REQ-62 owner approval recorded
(3fd0e10); REQUIREMENTS traceability all complete; ROADMAP marks
the milestone complete with the phase ledger; config.json advances
to milestone v0.2-mvp (tag line v0.2.x) — the MVP is unblocked.
Merging to main next; milestone branches are deleted after (tags
v0.1.0–v0.1.8 preserve history).
2026-09-27 10:03:16 +00:00
coreci 57c5231d88 docs(P08): final phase shipped — v0.1.8-uat staged; pipeline halts at approval gate
---ci---
phase: 8
milestone: v0.1
status: approval_pending
escalation:
  type: prototype_approval
  hook: prototype_approval
  resolution: pending_owner_decision
  message: >-
    v0.1.8 milestone release candidate shipped and presented. UAT
    staged per owner cadence (v0.1.7-uat mid-cycle, v0.1.8-uat at
    gate). On recorded approval: milestone merge to main, milestone
    branches deleted, v0.2 unblocked. On rejection: feedback becomes
    binding decisions for a fix cycle.
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56, REQ-57, REQ-58, REQ-59, REQ-60, REQ-61, REQ-63, REQ-64, REQ-65, REQ-66, REQ-67, REQ-68]
  partial: [REQ-62]
---/ci---

Ship record: PR #8 squash-merged phase/08-final-review-approval-ship →
milestone/v0.1-prototype (93a7b57), tag v0.1.8, phase branch deleted
(local+remote), Gitea release v0.1.8 created (HTTP 201), v0.1.8-uat
deployed healthy to the LXC host (gates re-run at deploy time, all
routes 200, suggestions + refine affordances served). DEPLOY-RECORD
row added; ROADMAP P8 → complete-pending-approval. Checkpoint stays
approval_pending at the REQ-62 gate — the milestone merge to main
awaits the owner's recorded decision.
2026-09-27 05:30:28 +00:00
coreci-bot 93a7b5755c docs(P08): complete 2nd final review + audit + approval-gate phase (#8)
Squash-merge of phase/08-final-review-approval-ship into milestone/v0.1-prototype. Review PASS-WITH-FIXES (double-compose + drawer-keyboard P1s, 90/90). Audit PASS-WITH-NOTES (all applied). Tag v0.1.8 = extended-prototype release candidate. Milestone merge to main HALTS at the REQ-62 owner approval gate.
2026-09-27 05:27:37 +00:00
coreci b7c1eb89a6 docs(release): record v0.1.7-uat LXC staging (owner cadence directive)
---ci---
phase: 8
milestone: v0.1
status: execute
escalation:
  type: deploy
  hook: deploy
  resolution: auto
  directive: UAT cadence after P7 and P8 (owner fork decision)
  message: >-
    v0.1.7-uat deployed to the LXC Docker host per the owner-selected
    cadence. Gates re-run green at deploy time; container swapped,
    health check passed; /ask serves the suggestions + refine
    affordances. Approval gate UNCHANGED.
requirements:
  covered: []
  partial: [REQ-62]
---/ci---

DEPLOY-RECORD.md: third UAT staging row (v0.1.7-uat -> 432d2c0).
Owner can try suggestions + refine mid-cycle at
http://10.0.0.114:3000 before the P8 final review pass.
2026-09-27 05:07:22 +00:00
coreci 432d2c0eb0 docs(P07): phase 7 shipped — checkpoint advances to phase 8 (final)
---ci---
phase: 7
milestone: v0.1
status: complete
requirements:
  covered: [REQ-67, REQ-68]
  partial: []
---/ci---

Ship record: PR #7 squash-merged phase/07-ask-suggestions-refine →
milestone/v0.1-prototype (fe82508), tag v0.1.7, phase branch deleted
(local+remote), Gitea release v0.1.7 created (HTTP 201). REQUIREMENTS
traceability REQ-67/68 → complete; ROADMAP P7 → complete, P8 → next.
P8 re-presents the extended prototype at the REQ-62 owner approval
gate: review the full milestone diff, audit, tag v0.1.8, UAT deploy
per owner cadence directive, halt for the recorded decision.
2026-09-27 05:04:05 +00:00
coreci-bot fe82508131 feat(P07): ask screen intelligence — suggestions + refine dialogue (#7)
Squash-merge of phase/07-ask-suggestions-refine into milestone/v0.1-prototype. REQ-67 (open-question suggestions, click-fills-box) + REQ-68 (refine dialogue, scripted exchange, composed question). Verify: PASS — 88/88 tests, 2 P1 fixes (Enter-guard, focus return) with regression tests. Ships as v0.1.7.
2026-09-27 05:03:38 +00:00
coreci 2652630a37 docs(release): record v0.1.6-uat LXC staging (owner directive)
---ci---
phase: 6
milestone: v0.1
status: approval_pending
escalation:
  type: deploy
  hook: deploy
  resolution: auto
  directive: push updates to lxc container
  message: >-
    Owner-directed UAT deploy of the extended prototype to the LXC
    Docker host via the codified release system. Gates re-run green
    (typecheck/lint/75 tests/build) at deploy time; image
    researchx:v0.1.6-uat swapped in; health check + route smoke
    passed. Approval gate UNCHANGED - the REQ-62 owner decision on
    the milestone merge to main is still pending.
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56, REQ-57, REQ-58, REQ-59, REQ-60, REQ-61, REQ-63, REQ-64, REQ-65, REQ-66]
  partial: [REQ-62]
---/ci---

DEPLOY-RECORD.md (new): ledger of owner-directed UAT stagings.
v0.1.6-uat -> 600b49c, healthy at http://10.0.0.114:3000 with the
app shell, library, and settings verified in served HTML. Checkpoint
remains approval_pending.
2026-09-27 04:42:19 +00:00
coreci-bot 600b49c2fa docs(P06): complete final review + audit + approval-gate phase (#6)
Squash-merge of phase/06-final-review-approval-ship into milestone/v0.1-prototype. Review PASS-WITH-FIXES (deep-link P0 + 5 P1s, 75/75 tests). Audit PASS-WITH-NOTES (all notes applied). Tag v0.1.6 = extended-prototype release candidate. Milestone merge to main HALTS at the REQ-62 owner approval gate.
2026-09-27 04:37:36 +00:00
coreci a118f359a7 docs(P05): phase 5 shipped — checkpoint advances to phase 6 (final)
---ci---
phase: 5
milestone: v0.1
status: complete
requirements:
  covered: [REQ-63, REQ-64, REQ-65, REQ-66]
  partial: []
---ci---

Ship record: PR #5 squash-merged phase/05-app-shell-reports-settings →
milestone/v0.1-prototype (b44bffc), tag v0.1.5, phase branch deleted
(local+remote), Gitea release v0.1.5 created (HTTP 201). REQUIREMENTS
traceability REQ-63..66 → complete; ROADMAP P5 → complete, P6 → next.
P6 re-presents the extended prototype at the REQ-62 owner approval
gate: review the full milestone diff, audit, tag v0.1.6, halt for
the owner's recorded decision.
2026-09-27 03:24:04 +00:00
coreci-bot b44bffcd7e feat(P05): app shell + research library + settings + avatar (#5)
Squash-merge of phase/05-app-shell-reports-settings into milestone/v0.1-prototype. REQ-63..66 covered. Verify: PASS (72/72 tests, P1 main-landmark fix in-phase). Ships as v0.1.5.
2026-09-27 03:23:42 +00:00
coreci 0fa0b07429 fix(P04): deploy.sh — UAT branch lookup strips patch segment; SSH-key auth preferred
---ci---
phase: 4
milestone: v0.1
status: execute
persona: ci-lead-developer
task: T-4.2
requirements:
  covered: [REQ-52]
  partial: []
---/ci---

UAT variant now resolves the milestone branch by milestone number
(v0.1) not full tag version (v0.1.4), matching branch-strategy
labeling. DEPLOY_KEY (path in .env.secrets) preferred over passwords —
survives sshd PermitRootLogin prohibit-password (Ubuntu 24.04 default
that rejects root password auth; observed on the LXC host). Deployed
v0.1.4-uat for manual UAT: http://10.0.0.114:3000.
2026-09-27 02:48:41 +00:00
coreci 2ffc71cff9 feat(P04): codified docker release system — deploy.sh + Dockerfile + versioning
---ci---
phase: 4
milestone: v0.1
status: execute
persona: ci-lead-developer
task: T-4.2
requirements:
  covered: [REQ-52]
  partial: []
---/ci---

Codified release workflow for future releases: .ciagent/release/deploy.sh
(one-command tag-anchored deploy: gates at tag, worktree build, sync to
Docker host, image build, rolling container swap with researchx-prev
rollback, health check), frontend/Dockerfile (multi-stage, Next.js
standalone, non-root runtime), VERSIONING.md release rules, README.
Transport: sshpass OR native SSH_ASKPASS; rsync OR tar-over-ssh.
Version argument supports <tag>-uat variants staging milestone HEAD
(tag + review infra) without minting release tags — used for manual
UAT deployment while the owner approval gate stays closed. Secrets
(DEPLOY_HOST/USER/PASSWORD) resolve only from .ciagent/.env.secrets.
2026-09-27 02:33:12 +00:00
coreci 7db53d625b docs(P04): final phase shipped — pipeline HALTED at owner approval gate (REQ-62)
---ci---
phase: 4
milestone: v0.1
status: complete
escalation:
  type: prototype_approval
  hook: prototype_approval
  resolution: pending_owner_decision
  message: >-
    Prototype complete and presented for approval. On recorded approval:
    milestone merge to main, milestone branches deleted, v0.2 unblocked.
    On rejection: feedback becomes binding decisions for a fix cycle.
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56, REQ-57, REQ-58, REQ-59, REQ-60, REQ-61]
  partial: [REQ-62]
---/ci---

Ship record: PR #4 squash-merged phase/04-final-review-approval-ship →
milestone/v0.1-prototype (1d97788), tag v0.1.4, phase branch deleted
(local+remote), Gitea release v0.1.4 created (HTTP 201) with full
milestone summary. Review: PASS-WITH-FIXES, 5 P0s fixed in-phase.
Audit: PASS. Per REQ-62 and the prototype_approval escalation hook,
the milestone merge to main does NOT proceed autonomously — the
pipeline halts here for the recorded owner decision.
2026-09-27 02:24:03 +00:00
coreci-bot 1d97788e5d docs(P04): complete final review + audit + approval-gate phase
Final phase: full-milestone review PASS-WITH-FIXES (5 P0s fixed with tests), audit PASS, PLAN/CHECKPOINT advance. REQ-62 owner approval gate: milestone merge to main + v0.1.4 publication halt for recorded owner approval. Gates 42/42 green.
2026-09-27 02:23:44 +00:00
coreci b03f57bc56 docs(P03): phase 3 shipped — checkpoint advances to phase 4 (final)
---ci---
phase: 3
milestone: v0.1
status: complete
requirements:
  covered: [REQ-60, REQ-61]
  partial: []
---/ci---

Ship record: PR #3 squash-merged phase/03-mockups-polish-3click →
milestone/v0.1-prototype (d15568f), tag v0.1.3, phase branch deleted
(local+remote), Gitea release v0.1.3 created (HTTP 201). REQUIREMENTS
traceability REQ-60/61 → complete; ROADMAP P3 → complete, P4 → in
progress. Next: final phase (review + audit + P1-flag fixes), then the
owner approval gate halts the milestone before merge to main.
2026-09-27 01:53:49 +00:00
coreci-bot d15568f19b docs(P03): complete v2 mockups + polish + 3-click validation phase
Phase 3: /library v2-preview mockups (project graph, task inbox) behind the ApiClient boundary; typography pass; 3-click criterion pinned by test. REQ-60, REQ-61 covered. Gates green (37/37). Verify: PASS zero P0, two P1 fixed in-phase.
2026-09-27 01:53:21 +00:00
coreci 17dd302f71 docs(P02): phase 2 shipped — checkpoint advances to phase 3 execute
---ci---
phase: 2
milestone: v0.1
status: complete
requirements:
  covered: [REQ-57, REQ-58, REQ-59]
  partial: []
---/ci---

Ship record: PR #2 squash-merged phase/02-plan-run-reading-room →
milestone/v0.1-prototype (d07e0b8), tag v0.1.2, phase branch deleted
(local+remote), Gitea release v0.1.2 created (HTTP 201). REQUIREMENTS
traceability REQ-57..59 → complete; ROADMAP P2 → complete, P3 → next.
2026-09-27 01:36:24 +00:00
coreci-bot d07e0b87b3 docs(P02): complete plan & run + reading room v0 phase
Phase 2: Plan & Run screen (approval UI, scripted live trace, pause/resume/cancel), Reading Room v0 (hover-anchored citations, ledger panel, real exports), mock multi-run store. REQ-57..59 covered. Gates: typecheck/lint/test(33)/build green. Verify: PASS zero P0, four P1 fixed in-phase.
2026-09-27 01:36:02 +00:00
coreci 59af9cb3d1 docs(P01): phase 1 shipped — checkpoint advances to phase 2 execute
---ci---
phase: 1
milestone: v0.1
status: complete
requirements:
  covered: [REQ-52, REQ-53, REQ-54, REQ-55, REQ-56]
  partial: []
---/ci---

Ship record: PR #1 squash-merged phase/01-frontend-scaffold-ask-choose →
milestone/v0.1-prototype (dd2538f), tag v0.1.1, phase branch deleted
(local+remote), Gitea release v0.1.1 created (HTTP 201). REQUIREMENTS
traceability REQ-52..56 → complete; ROADMAP P1 → complete, P2 → planned.
Post-hoc P1 flags (drawer hyphen rendering, empty-question guard) routed to
P4 pre-demo fixes; P1-3/P1-4 fold into P2.
2026-09-27 00:44:57 +00:00
coreci-bot dd2538f33e docs(P01): complete frontend scaffold + ask + choose phase
Phase 1: Next.js App Router scaffold (TS strict, Tailwind v4, Vitest), ApiClient/MockApiClient boundary, /ask + /choose with 8 methodology cards, advanced dials drawer, root redirect, README quickstart. REQ-52..56 covered. Gates: typecheck/lint/test(20)/build green. Verify: PASS zero P0, 4 P1 flagged post-hoc.
2026-09-27 00:44:31 +00:00
coreci 8a3baa15f1 docs(P01): phase 0 shipped — checkpoint advances to phase 1 execute (awaiting owner go)
---ci---
phase: 0
milestone: v0.1
status: complete
---/ci---

Ship record: squash-merge phase/00 → milestone/v0.1-prototype (4306b90), tag v0.1.0, origin bootstrap (main + milestone + tag pushed), Gitea release v0.1.0 created (HTTP 201), phase branch deleted. Owner bootstrap directive honored: PLAN.md covers phase 1 in detail; execution of P1 deferred until the owner runs /ci-run 1.
2026-09-27 00:06:30 +00:00
coreci 4306b9057e docs(P00): complete pre-execution phase
---ci---
phase: 0
milestone: v0.1
status: complete
---/ci---
2026-09-27 00:05:53 +00:00
coreci 6ee4cbbf39 docs(init): initialize researchx (6 phases)
---ci---
phase: 0
milestone: v1.0
status: specify
autonomy: full
decisions:
  - id: D-001
    decision: Milestone v1.0 scope = slice 1 core loop (Ask → Choose → Plan & Run) with Rapid Answer + Deep Report only
    rationale: Phased MVP approved in planning session; 8-methodology catalog locked in vision but rolled out across milestones
    confidence: 0.95
    alternatives: [all 8 methodologies in v1.0, backend-engine-first]
  - id: D-002
    decision: Custom async engine (hand-rolled asyncio state machine) instead of LangGraph
    rationale: Full control over pause/resume, durable state, and trace streaming; avoids framework lock-in (open_deep_research archived Aug 2026)
    confidence: 0.85
    alternatives: [langgraph engine, custom-deferred-interrupts]
  - id: D-003
    decision: Stack = FastAPI (Python 3.12, uv, pydantic) + Next.js App Router (TypeScript strict)
    rationale: Best fit for adapter/LLM ecosystem; gpt-researcher validates the split; OpenAPI generates typed frontend client
    confidence: 0.9
    alternatives: [python cli-first, typescript end-to-end]
  - id: D-004
    decision: Model adapter defaults to Ollama cloud (ollama.com/v1, keyed) with keyless localhost:11434/v1 fallback
    rationale: User clarification — covers cloud + local in one default; graceful degradation
    confidence: 0.9
    alternatives: [cloud-only, local-first]
  - id: D-005
    decision: Release target = Gitea git.coreci.dev/coreci/researchx; secrets in .ciagent/.env.secrets (0600, gitignored)
    rationale: User-provided forge target and credentials; keys never in config.json or git
    confidence: 1.0
    alternatives: [local-only]
  - id: D-006
    decision: Phase tags run on v0.9.x patch line; final phase patch tag is the v1.0 milestone release
    rationale: Branch-strategy tag rules — tags run on previous minor's patch line, no separate milestone tag
    confidence: 0.9
    alternatives: [tags on v1.0.x line]
---/ci---

Specification: ResearchX deep-research studio — BYO model/storage/memory, methodology-first selection, visited-only verified citations, 3-click core loop
Requirements: 12-dial methodology framework, 5 adapter slots, custom async engine, trust loop, API + Next.js frontend, fake-adapter test suite
Constraints: local-first single-user, OpenAI-compatible endpoints only, no paywalled academic access, secrets never committed
Out of scope: chatbot/model host/closed index, auth/multi-tenancy, remaining 6 methodologies (v2 backlog)
2026-09-26 23:46:58 +00:00