Skip to content

Add explicit schema question Views and deferred evidence acquisition - #3224

Merged
Hillary Mutisya (hillary-mutisya) merged 4 commits into
mainfrom
dev/hillarym/memory-pr1-questions
Oct 26, 2026
Merged

Hillary Mutisya (hillary-mutisya) merged 4 commits into
mainfrom
dev/hillarym/memory-pr1-questions

Conversation

@hillary-mutisya

@hillary-mutisya Hillary Mutisya (hillary-mutisya) commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Standalone scope

Extract explicit schema-defined question Views and deferred evidence acquisition from the preserved integration reference 886f3a3d2232ebe37efdfbe4b5f6a9f6e90c0f8d, directly onto main. This PR does not depend on the parallel topic/wiki extraction.

  • Restricted typed contracts, candidate/rubric selection, manual assertions/confirmation/rejection, exact evidence citations, absolute and scoped local chronology.
  • Per-candidate evidence audits and one bounded repair/revalidation pass; proposal/edit/build operations, persistence, maintenance, stale-plan retries and privacy lifecycle.
  • Explicit per-View bounded question discovery only. Enabling discovery does not automatically run it.
  • Host-authorized, consumer-tracked deferred acquisition with deduplication, cancellation, ordinary evidence ingestion and sanitized progress.
  • Usable Questions/acquisition UI, deterministic revision/slot/item page links, paginated question summaries/detail reads, and typed client/RPC/MCP support.

Deliberate exclusions

No corpus-wide discovery/routing, knowledge checkpoints or KnowledgeStatus mount, integrated source-plus-view answering, graph APIs/UI, topic curation/lazy summaries, wiki/project quality work, LongMemEval harness changes, or general Views/Inbox redesign. Existing configured synthesis identity and unrelated surfaces remain intact. No new package dependencies; external tools remain disabled unless a host explicitly authorizes them.

Actual local validation

All runs were isolated to the PR1 worktree, using offline model fixtures and local transport tests only.

  • Full pnpm run build: passed.
  • Memory service pnpm run jest-esm --runInBand --testPathPattern='schemaViews|schemaAnswerRepair|deferredAcquisition': 63 passed. Expanded Views/maintenance/batch regression selection additionally passed 207 existing tests; its initial explicit-discovery fixture failure was corrected and the feature selection rerun successfully.
  • Browser pnpm run test:views:client: 329 passed / 39 suites; post-router-refactor affected selection 80 passed.
  • Browser pnpm run test:views:gateway: 97 passed, including question summary/detail RPC validation and extension transport registration.
  • Memory client node --test test\*.spec.mjs: 41 passed.
  • MCP server pnpm run jest-esm --runInBand --testPathPattern='schemaViewProtocol|viewProtocol': 3 passed, including actual localhost MCP HTTP.
  • Pinned Prettier 3.5.3 changed-file check: 80 files passed.
  • All four ratchets against origin/main passed on committed HEAD: pnpm run code-lint -- --ratchet --base origin/main; pnpm run code-complexity:ci; pnpm run code-circular -- --ratchet --base origin/main --exceptions-file tools/scripts/code/circular-baseline-exception.json; pnpm run code-debt -- --gate --base origin/main.

Local validation caught and fixed stale-plan retries, Questions shell mounting, RPC test request shape and preview-router complexity. No gates were weakened or tests skipped. This is not live inference, provider qualification, or LongMemEval quality/performance qualification.

CI remediation

Initial full-matrix CI exposed two old complete-surface assertions that needed the new View kind and tool names. Commit 47add89 updates only those directly coupled expectations. Full local build and all four ratchets passed again; MCP complete-surface plus question protocol tests passed 13/13, and agent-server View host tests passed 2/2. No runtime behavior or gates were weakened. Latest-HEAD CI is being monitored.

Extract standalone question contracts, candidate review and chronology repair, maintained schema Views, typed inventory and page protocols, and sanitized Questions/acquisition controls. Keep discovery explicitly per-View and preserve unrelated memory surfaces.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Separate deterministic question page rendering from legacy View routing and preserve the existing configured adapter identity on other memory surfaces.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Match the existing complete-surface regression expectations to the real schema question, bounded question inventory and sanitized acquisition capabilities added by PR1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Integrate schema-defined question construction, candidate support repair and deferred acquisition with informational quality repairs and lazy curated topic lifecycle changes. Preserve both shutdown paths and remove the duplicate support rejection type introduced by automatic merging.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@hillary-mutisya
Hillary Mutisya (hillary-mutisya) merged commit 5d48d9a into main Oct 26, 2026
30 checks passed
Hillary Mutisya (hillary-mutisya) added a commit that referenced this pull request Oct 26, 2026
…ed answering (#3226)

## Summary

PR3: automatic knowledge discovery, readiness checkpoints and integrated
answering, based on main after #3224 and #3225.

- Adds bounded corpus-level question proposal, utility/admission and
routing with persisted receipts, fingerprints, existing-contract
suppression, hourly call budgets and allowance-reserving repair.
Existing corpora remain off until enabled; new corpora default to
`sourceObserved`. Policy admission does not confirm answers or authorize
tools.
- Adds fixed-source/family readiness checkpoints, producer-complete
bounded continuation and explicit
partial/blocked/failed/superseded/cancelled states. Coordinates
ingestion, maintenance, retry, invalidation, privacy removal and
shutdown. Lazy curated-topic summaries do not require prose for
readiness; complete curation coverage is still required.
- Adds integrated answering over originals and eligible published Views:
exact retained-source expansion, separate derived/user-assertion
evidence, authority/review/freshness/conflict/scope/eligibility checks,
original-source citations, evidence/request bounds, bounded follow-up
retrieval/refinement and opt-in diagnostics.
- Wires service/client/protocol/RPC/MCP and browser operation
inventories, browser answering, Questions knowledge status/policy
controls and source-plus-View answer rendering.
- Adds deterministic qualification-harness checkpoint orchestration and
metadata-only profiling fidelity tests.

## Boundaries

Extracted feature commits and later scoped repairs from immutable
integration source, reconciled against current main instead of replacing
shared files with older versions. Preserves merged question inventories,
answer-quality repairs and lazy topic behavior.

Excludes PR4's scoped graph APIs/projections/entity-event/hierarchy
work, graph UI/RPC/MCP, generic Views/Inbox/navigation redesign and lazy
read-projection optimizations. No PR4 branch dependency.

No live inference, pilot, replay, LongMemEval evaluation or performance
qualification was run. The previous stopped pilot is not a completed
qualification or scoring result.

## Validation

Commands run from `ts` unless a package directory is specified:

- `pnpm run build` — full workspace passed.
- Memory service: `pnpm run jest-esm --runInBand
--testPathPattern='(knowledgeCoordinator|knowledgeDiscovery|knowledgeLifecycle|knowledgeAnswering|integratedAnswer|schemaViews|topicService|viewBuilds|viewDrafts|informationalWiki|viewSynthesisEvidence|wikiContribution)[.]spec[.]js'`
— 301 tests passed.
- Memory service: `pnpm run jest-esm --runInBand
--testPathPattern='(answerKnowPro|fileMemoryService|markdownPersistence|maintenanceScheduler|topicGeneration|topicFamily|corpusIngestionIsolation)[.]spec[.]js'`
— 86 tests passed.
- `pnpm --filter @typeagent/memory-client test:local` — 49 passed.
- `pnpm --filter @typeagent/memory-mcp-server test:local` — 38 passed;
aligned timeout/controlled-model fixtures additionally rechecked with
focused knowledge/inventory tests.
- Browser: `pnpm run test:views:gateway` — 102 passed; final timeout RPC
test additionally rechecked.
- Browser: `pnpm run test:views:client --
--testPathPattern='memoryHub(KnowledgeStatus|Questions|Search)[.]test[.]ts'`
— 53 passed; `pnpm run test:views:client` — all 339 tests passed after
adding malformed-status isolation.
- `node --test
tools\memory-maintenance-qualification\longmemeval-runner.test.mjs
tools\memory-maintenance-qualification\ingestion-profile.test.mjs` — 43
deterministic tests passed.
- `pnpm run prettier:changed` — passed, pinned repository formatter.
- `pnpm run code-lint -- --ratchet --base origin/main` — passed, 281 →
281 existing violations.
- `pnpm run code-complexity:ci` — passed, no new over-cap functions.
- `pnpm run code-circular -- --ratchet --base origin/main
--exceptions-file tools/scripts/code/circular-baseline-exception.json` —
passed, 210 → 210 cycles (11 baseline exceptions), run without
overlapping own Git-fixture tests.
- `pnpm run code-debt -- --gate --base origin/main` — passed, no
focused/new skipped tests.

## Remediation

Preserved current-main cancellation/scheduler and answer-quality fixes
during extraction. Updated complete MCP operation inventory, replaced
legacy KnowPro answer-generation fixtures with deterministic
integrated-reader fixtures, isolated existing controlled View models
from unrelated automatic discovery, and aligned transport timeout
validation with the service's bounded 1–3,600,000ms contract. Complete
Hub client testing also identified a malformed knowledge-response
failure escaping into Questions; preparation now retains source progress
and reports the failure locally.

## Latest-head CI

Verified head `b7dcb1065b5f77fffbf6cf5f9be52dc5816ed89d`: all required
checks pass. All nine TypeScript OS/Node lanes, both .NET
configurations, all three shell packaging lanes, formatting, repository
policy, CodeQL, generated-document regeneration and external
Linux/Windows smoke tests pass. The fork-only formatting check is
intentionally skipped; no actionable failures or pending checks remain.
No merge or auto-merge was requested.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hillary Mutisya (hillary-mutisya) added a commit that referenced this pull request Oct 26, 2026
## Summary

- Add bounded, corpus-qualified document/event entity, topic and
maintained-hierarchy graphs. Eligibility, suppression, event authority,
exact provenance/counts, generation-bound node/edge/support paging,
budgets and explicit building/stale/error/unsupported coverage remain
visible.
- Separate index preparation from reads; invalidate graph caches across
document/event lifecycle changes. Reuse merged curated topics/lazy
summaries, preserve current source fingerprints and historical conflict
fallback, and revalidate detached view/event preparation before
installing results.
- Expose graph operations through service, in-process/MCP clients,
RPC/browser gateway and strict protocols. Advertise graph support
truthfully, including host-specific MCP tool inventories.
- Add scoped Explore/overview, graph controls/visualizers/details and
safe evidence drilldown. Finish generic Views card/list-detail/build
flyout, grouped activity/Inbox/navigation and lazy summary inventories
with responsive detail readers.

## Independent base and exclusions

Targets **main**, not PR3. Prerequisites #3224 (Questions/acquisition)
and #3225 (quality/curated lazy topics) are merged. Extracted from the
immutable integration source using two-tip comparisons while retaining
main's later fixes. No PR3 coordinator, automatic corpus question
discovery, knowledge checkpoint/policy/readiness API/UI, integrated
source-plus-view answering, or benchmark harness integration is
included. Existing Questions functionality is retained.

## Validation

All final local checks passed in the isolated PR4 worktree:

- `pnpm run build` from `ts` (full workspace).
- Complete memory-service offline unit suite: **80 suites, 1,030
tests**. From `ts/packages/memory/service`: `pnpm run jest-esm
--maxWorkers=2 --workerIdleMemoryLimit=512MB
--testPathPattern=".*[.]spec[.]js$"` (local
`NODE_OPTIONS=--max-old-space-size=8192`). Includes
graphService/Projection/Paging, viewIndexConcurrency, snapshot
reuse/freshness/historical conflict parity, topic/event/privacy
lifecycle, all view/editorial/consolidation and other existing service
regressions.
- `pnpm --filter @typeagent/memory-client run test:local`: **48 tests**.
- `pnpm --filter @typeagent/memory-mcp-server test`: **12 suites, 39
tests** (real bounded MCP protocol round trips and host inventory
included).
- `pnpm --filter @typeagent/browser run test:views:gateway`: **111
tests**, including scoped graph gateway and strict validation/lifecycle.
- `pnpm --filter @typeagent/browser run test:views:client`: **41 suites,
371 tests**, including
graph/Explore/Views/activity/Questions/management.
- Pinned `pnpm run prettier:changed`.
- `pnpm run code-lint -- --ratchet --base origin/main`.
- `pnpm run code-complexity:ci`.
- `pnpm run code-circular -- --ratchet --base origin/main
--exceptions-file tools/scripts/code/circular-baseline-exception.json`
(not concurrent with Git-fixture tests).
- `pnpm run code-debt -- --gate --base origin/main`.

Coverage is deterministic/offline; no live inference, qualification
pilot, recording or long-lived server was used. These checks do not
establish generated knowledge/answer quality. Read-only graph responses
may report separately scheduled preparation or unsupported provider
projections rather than claim completeness.

## CI remediation

The first matrix run exposed two pre-projection hydration-count
expectations in snapshotReuse. The follow-up ordinary commit asserts one
fresh projection read and zero full-state hydrations, while retaining
expired-scope freshness, privacy checks and historical consolidation
parity. The complete 80-suite service run passes after this fix; no test
or gate was disabled.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

1 participant