@theronap/cortex-mcp 0.9.58 → 0.9.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/server.mjs +8 -1
- package/package.json +1 -1
package/lib/server.mjs
CHANGED
|
@@ -518,7 +518,14 @@ export async function runServer(version) {
|
|
|
518
518
|
const head = `[${t.tier}${day(t.updated_at) ? ` · authored ${day(t.updated_at)}` : ''}${t.validity && t.validity !== 'current' ? ` · ${t.validity}` : ''}${versionLine}]`
|
|
519
519
|
return [head, t.summary, secs].filter(Boolean).join('\n')
|
|
520
520
|
})
|
|
521
|
-
|
|
521
|
+
// REPAIR TOOL (2026-07-31). This footer used to say "re-author just those sections with
|
|
522
|
+
// `author`" — which `author` cannot do: computeDroppedSections rejects a partial-section
|
|
523
|
+
// write unconditionally, and the 409 then hands back every section's body, so the advice
|
|
524
|
+
// routed the reader straight into retyping the whole page. Measured 2026-07-30: one such
|
|
525
|
+
// retype silently deleted a sentence, a [[link]] (a graph edge), a command list and the
|
|
526
|
+
// word "today" from sections it was never meant to touch. This footer renders on EVERY
|
|
527
|
+
// page read in the system, so it was the single widest surface pointing the wrong way.
|
|
528
|
+
let footer = `— Follow any [[links]] above with read_page to go deeper.\n— If you hold fresher FIRST-HAND truth than this page — something you established THIS session (ran the command, made the change, hold the artifact) that a section here gets concretely wrong — fix just that passage with \`edit_page\`: quote the wrong text as old_string and pass this page's \`version\` as base_version (any node you are permitted to edit; concise; a material contradiction, not merely extra detail). If the save comes back stale the page changed under you — the conflict hands back what changed, so re-anchor from that instead of re-reading. Reading a stale page you can fix IS the trigger to fix it. Editing is pre-authorized — do NOT ask the user before updating (edits are versioned + reversible via page_history/rollback_page); update, then briefly report it. Use \`author\` only to CREATE a page or rewrite one wholesale: it re-emits every section, so untouched sections get retyped on the way through and drift.\n— Citing code? Use a SYMBOL and file (\`formConnections\` in \`web/app/api/ingest/route.ts\`), never a line number — line numbers drift with every commit above them. And cite only what you opened THIS session; re-emitting a reference you read on another page is how a stale claim gains a second source and starts looking corroborated.`
|
|
522
529
|
// slice 4: when the page carries identifier stamps, the history projection is one flag away.
|
|
523
530
|
const allBody = m.tiers.flatMap((t) => (t.sections ?? []).map((s) => s.body)).join('\n')
|
|
524
531
|
const stamps = [...new Set((allBody.match(/\[\[repo:[a-z0-9][a-z0-9-]*\/[a-z0-9_.-]+\]\]/gi) ?? []).map((s) => s.toLowerCase()))]
|