Commit graph

12 commits

Author SHA1 Message Date
zwxxb
005b40238d fix(move): address review blockers and graph quality 2026-07-25 15:18:24 +02:00
zwxxb
282d82f1e0 refactor(move): simplify & harden the Move integration architecture (reduced scope)
Trimmed rebuild of 6ea5aa44 (fork PR #4): Move core (gitnexus/src/core/move/)
and Move tests, plus the functional minimum elsewhere.

Dropped from the original commit:
- .gitignore .codex/ entry (unrelated)
- cli/analyze.ts env-constant swap (cosmetic; same string literal)
- core/logger.ts warnRespectingProgressBar extraction and the
  filesystem-walker.ts reuse of it (Move code never imports the helper)
- scope-resolution callable-value-flow warning aggregation and pipeline/run.ts
  progress-warning formatting, with their two tests (warning-UX hardening,
  not Move-functional)
- process-detection interface doc-comment retuning (DEFAULT_CONFIG runtime
  values already match upstream; region left byte-identical to upstream)

Kept outside src/core/move/ and Move tests (one line each):
- gitnexus-shared/src/graph/types.ts: 'external' locationFidelity for
  dependency symbols
- gitnexus-shared/src/lbug/schema-constants.ts: 'Type' node table registration
- core/lbug/schema.ts: Type table schema + Move rel-table endpoint pairs
- core/lbug/node-table-layout.ts: TYPE_LAYOUT CSV layout
- core/lbug/csv-generator.ts: 'Type' in MULTI_LANG_TYPES routing
- core/lbug/lbug-adapter.ts: deleteAllExternalNodes + shared delete-by-label
  mechanics; Type backtick entry
- core/incremental/subgraph-extract.ts: external nodes get the
  delete-all-then-rebuild treatment
- core/run-analyze.ts: Move consistency digest to meta.json;
  deleteAllExternalNodes call; grouped Move meta; finally-based shutdown
- storage/repo-manager.ts: moveConsistency in RepoMeta;
  INCREMENTAL_SCHEMA_VERSION 13 (Type/EnumVariant persistence)
- core/ingestion/pipeline.ts: generic TStandaloneIngest output threading
- types/pipeline.ts: PipelineResult.standaloneIngest replaces ingestWarnings
- core/ingestion/process-processor.ts: ENTRY_POINT_OF explicit graph roots
- tests: schema, node-table-layout, process-processor,
  repo-manager-reconcile, call-summary-schema-version,
  incremental-subgraph-extract, run-analyze-fts-repair (unit);
  lbug-core-adapter (integration)

Gates: tsc clean; Move unit 185/185; full unit suite green except three
pre-existing Darwin-environment failures reproduced on the pristine base;
integration (move + lbug-core-adapter) 29/29.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 18:58:03 +02:00
abhigyantrumio
3483aeb6f8 fix(move): skip unbuildable packages, placeholder pre-flight, degraded-build warning
- A Move package move-flow cannot build no longer aborts the whole analyze:
  it is skipped with a persistent warning naming the package and the first
  compiler diagnostic (GITNEXUS_MOVE_STRICT=1 restores the fatal behavior).
  Previously one broken test fixture among aptos-core's 479 packages killed
  the entire run at 60%.
- "_" placeholder named addresses in Move.toml are caught pre-flight with an
  actionable message instead of a guaranteed compile-and-fail (move-flow has
  no dev-mode build).
- After every facts ingestion the package build status is probed: builds with
  compiler errors emit a degraded-fidelity warning, because move-flow
  silently omits acquiresInferred from erroring builds while returning
  otherwise complete facts (aptos-labs/aptos-ai#18 #19; tracking #2659).
- Warnings ride a new language-neutral ingestWarnings channel
  (StandaloneIngestOutput -> PipelineResult -> AnalyzeResult -> CLI summary),
  mirroring the persistent FTS warning so they survive the progress bar.
- README: "Analyzing real-world Move repositories" section documenting the
  new behavior, GITNEXUS_MOVE_STRICT, .gitnexusignore scoping, and the
  GITNEXUS_MOVE_FLOW_TIMEOUT_MS knob for cold git-dependency builds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 03:39:23 +05:30
zwxxb
cec1a74cf0 fix(move): harden provisioning failure handling
Avoid repeated install attempts and prove compiler-backed indexes remain intact when move-flow disappears. Align docs and CI metadata with managed runtime behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 23:58:33 +02:00
zwxxb
40abd33325 fix(move): track compiler identity for managed move-flow installs
Verify managed installs against release checksums, serialize them with
a cross-process lock, and record the compiler identity that produced
the Move graph so a compiler change forces a full rebuild. Fail closed
when the existing Move graph needs a compiler that is unavailable.
2026-07-21 21:35:34 +02:00
zwxxb
30093b2f59 fix(move): provision move-flow on demand at analyze time
Replace the npm-postinstall installer (scripts/install-move-flow.cjs)
with analyze-time provisioning: resolve $MOVE_FLOW, then a verified
user cache under ~/.gitnexus/tools/move-flow, then $PATH, then a
one-time download of the pinned release verified against SHA256SUMS.
Installs are serialized across processes via a lease/heartbeat lock
and staged into place atomically.

- Gate the client probe on the pinned release major (prerelease
  suffixes accepted); drop the legacy vendor/move-flow bundled path.
- Honor GITNEXUS_SKIP_MOVE_FLOW and GITNEXUS_SKIP_OPTIONAL_GRAMMARS;
  do not retry a failed install within the same process.
- Consolidate node-table DDL, CSV headers, row encoding, and COPY
  column lists into lbug/node-table-layout.ts (replaces
  move-columns.ts); align boolean CSV encoding with the incremental
  CREATE path.
- CI: cache ~/.gitnexus/tools/move-flow keyed to the pinned version;
  require provisioning on the shard that owns the live Move suite.
- Docker: install unzip for on-demand extraction; the image no longer
  ships a move-flow binary.
2026-07-21 17:14:08 +02:00
Abhigyan Patwari
0d1b5fb9ad
fix(move): harden real-repo Aptos ingestion (#2601) 2026-07-21 17:03:53 +05:30
zwxxb
edb8afb726 fix(move): harden installer checksum matching 2026-07-21 10:55:56 +02:00
zwxxb
31933c706a fix(move): clean up move-flow startup failures 2026-07-20 10:35:23 +02:00
zwxxb
d3998f4788 ci(release): add Aptos npm release channel 2026-07-18 16:03:10 +02:00
zwxxb
30fdb059fd fix(move): align 2.0 integration with runtime
Move availability and discovery into focused modules, accept literal executable paths, and split resource queries for LadybugDB compatibility.
2026-07-18 15:37:42 +02:00
zwxxb
1c58114e57 feat(move): add compiler-first graph ingestion
Integrate Move compiler facts across indexing, persistence, and MCP queries while keeping shared ingestion language-agnostic and incremental updates safe.

Co-authored-by: GotenJBZ <marco@freemaker.it>
2026-07-18 15:37:42 +02:00