Skip to content

Server rewrite. Focused semantic search with cached embedings.#4

Merged
Simon-McIntosh merged 80 commits into
iterorganization:mainfrom
Simon-McIntosh:main
Sep 2, 2025
Merged

Server rewrite. Focused semantic search with cached embedings.#4
Simon-McIntosh merged 80 commits into
iterorganization:mainfrom
Simon-McIntosh:main

Conversation

@Simon-McIntosh

Copy link
Copy Markdown
Collaborator

No description provided.

@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@Simon-McIntosh
Simon-McIntosh merged commit ce0832f into iterorganization:main Sep 2, 2025
5 checks passed
Simon-McIntosh added a commit that referenced this pull request Dec 17, 2025
Server rewrite. Focused semantic search with cached embedings.
Simon-McIntosh referenced this pull request in Simon-McIntosh/imas-codex Mar 12, 2026
- Add _llm_ssh() and _run_llm_remote() to services.py for LLM-specific
  SSH routing via {facility}-llm alias
- Update all LLM CLI commands (start, stop, restart, status, logs) to
  use _run_llm_remote() instead of _run_remote()
- Update _wait_for_health() and _tail_log() with ssh_host parameter
  to support per-service SSH routing
- Update _get_llm_proxy_host() in settings.py to resolve hostname
  from the {facility}-llm SSH alias when available
- Prevents node switches (--set-default) from breaking LLM proxy
  connection by keeping LLM pinned to its designated node

Usage:
  imas-codex host iter --set-default 4 --llm 5   # default to #4, LLM on #5
  imas-codex host iter --set-default 4 --llm keep # switch but keep LLM
Simon-McIntosh referenced this pull request in Simon-McIntosh/imas-codex Apr 22, 2026
Major rewrite of plan 36 (catalog quality refactor):

- Phase 0 (NEW): ISN postfix grammar inversion (rc22). Unifies vector
  and complex parent/part under ONE rule: modifiers strip right-to-left
  from closed reserved vocab. Resolves RD round 2 finding #1
  (vector/complex false-symmetry) by eliminating the asymmetry.
- Phase 2 (REWRITTEN): linking workflow rebuild targeting 11 bugs
  discovered via investigation + empirical graph query (all 927 names
  have 0 links, link_status=None). Fixes:
  B1 _sanitize_links dd: junk-strip (RD #4 BLOCKING)
  B2 contradictory LLM instructions (enrich_system vs style guide)
  B3 zero-link bootstrap failure (consequence of B1+B2)
  B4 no vector/complex sibling auto-populate (user req)
  B5 link_status never reaches unresolved
  B6 over-strict missing_reverse audit for parent/component
  B7 _sanitize_links drops name:X during bootstrap (chicken-egg)
  B8 no DD-path context in LLM prompt
  B9 no failed-link re-queue on new SN writes
  B10 # in junk-strip collides with URL fragments
  B11 DD cluster-peer link candidates unused
- Phase 1b export field-exclusion mechanism CREATED (did not exist).
- Phase 1c doc_resolution_status field added parallel to link_status.
- Phase 4b small cost-bound verifier run (equilibrium, 20 names, $2)
  with explicit gate criteria before opening taps.
- Phase 4d generalised sn bootstrap-derived-parents (vector+complex).
- RD round 2 non-grammar findings merged (#1b, #1d, #1e, #4, #5, #6,
  #7, #8a, #8b).

Status: PLANNING, RD round 3 pending.
Simon-McIntosh referenced this pull request in Simon-McIntosh/imas-codex Apr 27, 2026
Introduces CanonicalReview dataclass and project_canonical_review()
in imas_codex/standard_names/review/projection.py.

Precedence: escalator (cycle-2 authoritative_escalation) > quorum-mean
(cycles 0+1 both quorum_consensus, neither disqualified by retry_item/
max_cycles_reached) > single (cycle-0 fallback) > None.

Most-recent review_group_id is selected when multiple groups exist for
the same SN+axis (RD #5). Cycle-2 carrying max_cycles_reached does not
trigger the escalator branch (RD #3). Either cycle carrying retry_item or
max_cycles_reached disqualifies the quorum-mean branch (RD #4).

Tests: 12 cases in tests/standard_names/test_review_projection.py
covering all 4 source branches and all RD edge cases.
Simon-McIntosh referenced this pull request in Simon-McIntosh/imas-codex Apr 28, 2026
Add tests/standard_names/test_pool_exclusivity.py implementing plan.md
acceptance criterion #4: regen and review never claim the same name.

Five test functions across four classes:
- TestReviewAndRegenClaimDisjointNames: integration test running
  review_names, review_docs, and regen pools concurrently via
  run_pools() with an in-memory DB seeded across three eligibility
  groups (unreviewed / low-score / fully-reviewed).  Asserts that no
  single StandardName id appears in both review and regen claim sets,
  and that each group is only touched by its eligible pool.
- TestReviewExcludesLowScore: unit tests verifying both review_names
  and review_docs return empty for Group B (reviewer_score < min_score).
- TestRegenExcludesUnreviewed: unit test verifying claim_regen returns
  empty for Group A (reviewed_name_at IS NULL).
- TestReviewNamesAndDocsCanShareAName: state-transition test confirming
  review_names → reviewed_name_at advance → review_docs is the allowed
  sequential path, with regen still excluded at the end.
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