
Fortémi — September 2026
September added repeatable note imports, deletion previews, and fixes that preserve unselected data during restore.
September gave Fortemi users more control over how notes enter, leave, and return to memory. Imports can be repeated without adding extra copies. You can preview a purge before it runs. Restore fixes keep data outside the chosen set.
TL;DR
`v2026.9.1` added imports that track each note by its source. You can retry the same batch and get the same note IDs back.
`v2026.9.10` added purge previews and records of finished cleanup. It also fixed scoped restores so they keep records outside the chosen set and retain their IDs.
The month also brought manual note links, bounded dataset runs, and fixes for upgrades from older databases.
By the numbers
| Area | September status |
|---|---|
| Note imports | Source identity, exact replay, dry-run, and whole-batch writes |
| Deletion | Preview, resumable cleanup, and content-free receipts |
| Restore | Preserved tag strings, retained identities, and unselected state |
| Agent tools | Versioned dataset execution with explicit limits |
| Auth integration | Added certificate trust settings for the hosted verifier |
Highlights
Retry an import without adding copies
A document import may stop before your app gets the reply. With the source imports added in `v2026.9.1`, your app can send the same batch again and get the prior note IDs without adding rows. Each note has a source name and an ID from that source, so the server can match each item to its stored note.
To create or update a set of documents this way, use a stable source name and keep each document’s ID the same on the next run. If the text has changed, choose the change policy before you send the batch.
Check what a purge will remove
Before you remove a body of work, use the purge preview added in `v2026.9.10` to inspect the planned scope. Check that it selects only the data you mean to remove, and keep the preview with the task you plan to run.
The server removes the chosen rows in one step, but file and search cleanup still need to finish. That cleanup can resume. After the purge, check the final receipt for the file and search cleanup result. The receipt records the result without keeping the erased content.
Restore chosen notes and keep the rest
When you restore one set of notes while keeping another, check that the scope includes only the notes you mean to restore. Keep a backup as well, so you have a known point to return to. Knowledge Shards are files used to move Fortemi data; `v2026.9.10` fixed their scoped restores to keep records outside the chosen set and preserve the IDs of retained records.
The chosen set defines what can change. A shared link to another record alone does not let the restore delete it. If the restore clashes with a record outside that set, the change fails and rolls back.
Give agent data runs a clear lifecycle
Before starting a dataset run, an agent can preview what it will do. The versioned tool shipped in `v2026.9.3` through MCP, the Model Context Protocol used by agent tools. Its `manage_dataset_execution` supports preview, run, status, checkpoint, cancel, and resume, and checks the chosen contract and limits before making an API call. If work stops, the agent can check its status and resume from a checkpoint.
Link notes with stable retry behavior
If your app loses the reply after linking two notes, it can retry the exact request and use the stored result. The manual note-link route added in `v2026.9.0` takes your chosen source and target notes and returns the same stored link ID on an exact retry. A conflicting score or metadata returns a conflict.
Features shipped
The import tool accepts batches of 1–500 items. Each batch commits as a whole. A dry-run makes no lasting changes. For changed content, you choose whether to create a version, replace it, or report a conflict. Use the conflict choice when you want to review changed text before accepting it. Use a new version when the change should become part of the note’s history.
The API route is `POST /api/v1/notes/source-upsert`. Agents can use `upsert_external_notes` for the same contract.
Dataset runs have bounds on input size, record count, time, and work running at once. Their receipts leave out source content and its logical IDs. They keep hashes, checkpoints, and reason codes that a tool can check.
Manual links use the same access checks for the source and target notes. Tag paths now follow one set of checks as notes are stored, read, and linked. Tag paths still support five parts.
Fixes
A shard restore now keeps tag strings that meet the shard’s rules. It no longer rewrites those tags through the rules used when writing a note. When you write or edit a note, the tag rules stay the same.
When a note joins an embedding set by rule, the server uses that note’s tenant and memory scope. These sets group notes for vector search. This fix leaves existing set members as they are.
`v2026.9.9` fixed hosted note writes, access checks, and live events to use the verified tenant. A tenant defines which account owns the data.
Performance & reliability
`v2026.9.6` improved startup during long database upgrades. The bundle waits for the API to be ready while checking that its process remains alive. Agent tools register once the API is ready. If the API is down or sends a bad reply, saved sign-up details are kept. The bundle reports the fault instead of failing as it reads the reply.
A retry can reuse a recent backup only if checks show it still matches the data and upgrade steps. If a new backup fails, the old backup is kept.
Breaking changes & migrations
The source-import release adds a source-identity migration. Apply it before enabling import callers.
`v2026.9.10` uses forward migrations through the normal migration runner. Migration files that have been applied stay unchanged. Keep a verified backup before upgrading. Going back to an older build alone does not roll back the database.
Releases
Dates below use the recorded release date. The partial `v2026.9.4` entry uses its changelog date.
`v2026.9.0` — September 2. Manual links and unified tag-path checks.
`v2026.9.1` — September 4. Note imports you can repeat by source ID.
`v2026.9.3` — September 5. Dataset runs with fixed release contract files.
`v2026.9.4` — September 5. Dataset checks and bulk job fixes; the release was partial.
`v2026.9.5` — September 6. Fix for tests that share a database.
`v2026.9.6` — September 7. Upgrade startup and recovery-point fixes.
`v2026.9.7` — September 7. Extra trusted certificates for hosted sign-in checks.
`v2026.9.9` — September 9. Fixes for tenant scope in a revised release.
`v2026.9.10` — September 17. Purge previews and scoped shard restore fixes.
`v2026.9.11` — September 20. A dataset contract record for the React consumer.
For `v2026.9.4`, images and release entries appeared, but required test coverage failed and native builds were skipped.
`v2026.9.11` updates the record of dataset checks. It leaves runtime behavior and dataset maturity unchanged.
Dependencies & security
`v2026.9.7` added `FORTEMI_AUTH_CA_BUNDLE` for extra trusted certificates when checking the hosted sign-in source and its keys. Bad files stop startup with a clear error. Certificate tests keep hostname, expiry, HTTPS, and redirect checks in place.
The release includes the hosted verifier in standard API and bundle builds. Hosted mode still needs its own settings for keys, usage limits, and data scope.
Docs & DX
When you test an app against source imports, the shipped files supply test inputs, expected results, and rules for requests and replies. They also include tests you can run. For dataset runs, the files set strict rules for requests and receipts, with a separate tool to check results.
Start with the server release notes and configuration guide.
Tests & CI
September added purge tests for retries that run at the same time, shared files, stale previews, and restore retry after a crash.
Manual-link tests cover repeat requests, conflicts, access scope, and rollback. Source-import tests cover exact replay and whole-batch rollback.
Cross-project impact
The server’s manual-link contract names the HotM app as the software that uses it.
`v2026.9.7` pins the `fortemi-auth` `v2026.9.0` authority for its hosted verifier.
`v2026.9.11` declares the independent `@fortemi/react` dataset consumer. That record leaves checks of the released package and live service with the consumer.
Known issues & open threads
Dataset runs remain at alpha stage for live storage.
Source identities are outside the Knowledge Shard export profiles. An export reports `source-identity-outside-profile` when that loss applies.
You choose which data a purge may remove and which data it must keep. The restore fixes do not prove full backup or loss-free transfer across the suite.
Release checks
Test the exact server and app releases you use: an exact import replay should return the same note IDs without duplicates. A scoped restore should keep unselected records and retained IDs, and roll back on a clash outside its scope. For a purge, check that the preview matches your chosen scope and the final receipt records finished file and search cleanup.
Appendix
Report window: September 1–30, 2026. Public source paths for the release notes and contracts: