Skip to content

v2026.7.1

Choose a tag to compare

@jmagly jmagly released this 03 Jul 04:22
· 706 commits to main since this release
5daf717

AIWG 2026.7.1 - "Fortemi Core index migration preview"

Released: 2026-07-03
Channel: stable (npm install -g aiwg)

This release note tracks the Fortemi Core index/search migration preview. AIWG
now has an opt-in static Fortemi Core cache path for project indexes while
preserving the existing .aiwg/.index local backend as the default and rollback
path.


What changed

v2 AIWG -> Fortemi export contract

aiwg index export --format fortemi still defaults to the v1 compatibility
contract. The new --schema-version v2 option emits AIWG domain records for
skills, agents, commands, rules, flows, project-local bundles, research
REF/PROF records, KB pages, memory entries, issues, and project artifacts.

The v2 records include search projections, typed relationships with direction,
privacy locality, source-body chunks, and embedding metadata slots for the
shared Fortemi Core semantic path.

AIWG also includes a tested v2-to-v1 projection for the published
@fortemi/core@2026.7.0 AIWG validator. It preserves AIWG domain record types
while stripping v2-only fields and reverse traversal edges.

Opt-in Fortemi Core static cache

aiwg index sync --backend fortemi-core materializes a v2 static export and
manifest under .aiwg/.index/fortemi-core/<graph>/. The cache is used only when
operators pass --backend fortemi-core.

The npm release package now also carries a prebuilt framework graph cache
under prebuilt/fortemi-core/framework/. If no compatible local framework cache
exists, Fortemi-backed discovery can use that packaged fallback without making
Fortemi Core the default backend. The packaged cache is a compact
metadata/capability projection; local sync remains the source-body/fulltext path.

A synced Fortemi Core cache with zero items is valid, not stale. Queries return
empty result sets, aiwg discover reports a Fortemi static-cache no-match hint,
and aiwg show does not fall back to the local AIWG corpus when operators
explicitly select --backend fortemi-core.

Supported Fortemi-backed commands in this preview include:

  • aiwg discover / aiwg show
  • aiwg index query, including static semantic and filtered hybrid query modes
  • aiwg index deps
  • aiwg index neighbors
  • aiwg index set
  • aiwg research-query source selection

Boundary clarifications

Two existing Fortemi-adjacent surfaces remain separate from the Fortemi Core
static index/search backend:

  • The fortemi storage backend in .aiwg/storage.config is the Fortemi MCP
    persistence adapter. It can route KB or memory storage through Fortemi MCP
    tools, but it does not switch AIWG discovery, query, graph traversal, or
    research-query to --backend fortemi-core.
  • Local issue search remains served by the local issue provider and
    .aiwg/issues/index/issues.index.json. The v2 export can include
    aiwg.issue records, but aiwg issue list --search does not require or use
    the Fortemi Core cache in this preview.

Related tracker items #1551 and #1508 remain open unless maintainers explicitly
decide otherwise. #1551 tracks body-level embedding behavior that may be
subsumed by a later Fortemi v2 acceptance gate; #1508 stays deferred until a
provider-neutral corpus-to-storage/index boundary is approved. Direct Fortemi
REST import and hardcoded-token patterns remain out of scope for this preview.

No-regression parity fixtures

The migration includes static parity fixtures that compare the current local
backend against the Fortemi static cache for discovery, show, metadata query,
fulltext query, static semantic/hybrid query, graph traversal, research
REF/PROF retrieval, KB traversal, and v1/v2 export behavior. The
research-query executable wrapper now makes source-selection parity testable
with --backend fortemi-core while leaving GRADE-aware answer synthesis in the
research-query skill workflow.

The suite intentionally keeps equal-score ordering tolerances explicit: exact
where behavior is deterministic, membership-only where the current scorer
produces equivalent ties.

The release gate also runs npm run ci:fortemi-index, which exercises the
discovery matrix against local and Fortemi Core backends, invokes npm pack
through prepack, verifies the prebuilt files, manifest checksum, and size
ceiling inside the tarball, and proves packaged fallback discovery from an empty
local cache.

Fallback

No default backend changes in this preview. If a Fortemi-backed command reports
a missing or stale cache, rerun without --backend fortemi-core to use the
local index:

aiwg index query "retrieval" --backend fortemi-core
aiwg index query "retrieval architecture" --hybrid --backend fortemi-core --type adr --tags search --json
aiwg index query "retrieval"

To reset the preview cache:

rm -rf .aiwg/.index/fortemi-core
aiwg index sync --backend fortemi-core --graph project

Do not remove .aiwg/.index/<graph>/; it remains the rollback source.

Fortemi Core 2026.7.0 baseline

@fortemi/core@2026.7.0 is now published with the @fortemi/core/aiwg-index
subpath, relationship traversal APIs, and static semantic/hybrid helper
contracts. AIWG can use it as the released baseline for the next migration
slice.

The package still validates AIWG exports as v1-only, so AIWG's v2 all-domain
export remains behind the Fortemi v2 adoption gate. The new compatibility
projection covers current-package static validation without changing that gate.
AIWG also has package-independent static semantic/hybrid fixtures over the v2
cache so required CI does not depend on optional embedding packages.

Still gated

The default Fortemi Core backend switch remains blocked until #1691 is green in
CI, the Fortemi package accepts the AIWG v2 export and relationship traversal
contracts, and a follow-up switch issue proves both default Fortemi behavior and
forced-local rollback behavior. Live Fortemi integration tests remain optional
and must skip cleanly without credentials.

The legacy fortemi MCP storage adapter remains available for persistence
migrations but is deprecated for discovery/search routing. Search callers should
use explicit Fortemi Core backend flags until the separate default-switch gate
is approved.