Skip to content

Give chat status answers dated sources and separate activation evidence - #58

Merged
portdeveloper merged 1 commit into
portdeveloper:masterfrom
ShadowOfTime1:chat/dated-mip-sources
Oct 5, 2026
Merged

portdeveloper merged 1 commit into
portdeveloper:masterfrom
ShadowOfTime1:chat/dated-mip-sources

Conversation

@ShadowOfTime1

Copy link
Copy Markdown
Contributor

Closes #52

Knowledge format. The MIP files now follow the format MIP-12 got in #56, so all five read the same way: **Proposal status:**, **Network status:**, a dated **Verified:** line, and a ## Sources section. Canonical specs are pinned to a commit (b49e903), and activation evidence is sourced separately from the spec:

MIP Proposal status Network status Activation source
MIP-3 Final Active since MONAD_NINE (mainnet March 19, 2026; testnet March 10) v0.13.0 release notes
MIP-4 Final Active since MONAD_NINE (same dates) v0.13.0 release notes
MIP-7 Draft No activation evidence in this bundle release notes list none
MIP-8 Final Active since MONAD_TEN (mainnet September 2, 2026; testnet August 12) v0.16.1 / v0.16.0 release notes
MIP-12 unchanged from #56

MIP-12 is untouched, so the #56 correction and its tests stay as they are. MIP-8's old "Activation" and "Canonical specification" sections are folded into the same header and Sources section rather than kept twice. I filled in the status and evidence lines only; the TODO(author) motivation sections in MIP-3/4/7 are a content rewrite and stay out of scope.

Request behavior. src/lib/ai/instructions.ts builds the instructions server-side and always appends two things after the configured system prompt, so a custom prompt from Edge Config cannot drop them:

  • an evidence rule: proposal status and network activation are separate facts; a Final spec alone does not prove a change is live; say a MIP is activated only with separately sourced evidence and name the network and date; when evidence is missing or conflicting, say the bundle cannot confirm activation and link the canonical spec; link the bundle's source and qualify facts with the file's verification date;
  • the current UTC date, worded as today's date and kept apart from each file's Verified date.

No model, tool or Markdown rendering change.

Tests. src/app/api/chat/route.test.ts calls the real POST handler with botid, rate limiting and the SiloRail client mocked, captures the outgoing request and checks its system message for:

  • a Final MIP with separately sourced activation (MIP-8 from the real bundle: its pinned spec URL, release-notes link and Verified date reach the provider);
  • a Final MIP with no activation evidence (a fixture bundle), with the "cannot confirm activation" rule present;
  • a custom admin prompt, with the rule and the date still appended after it.

Removing the rule from the helper fails all three. src/lib/ai/knowledge-sources.test.ts keeps every mip-*.md on the same status, verified-date and pinned-source format.

Manual answer check. I couldn't run the live model here (no SiloRail wallet on my side), so this is the check to run on a preview, not something a unit test asserts:

  1. "Is MIP-8 live on mainnet?" should say yes, name MONAD_TEN and September 2, 2026, link the v0.16.1 release notes, and say "as verified on October 4, 2026" or similar.
  2. "Is MIP-7 active?" should say it is a Draft and the bundle cannot confirm activation, and link the MIP-7 spec.
  3. With a custom system prompt saved in /admin/chat, question 2 should still get the same qualification.

scripts/check-mip-upstream.mjs currently reports every MIP as "Review needed" because the upstream specs moved past the reviewed commit. That is the same on master and belongs to upstream sync, which #52 leaves out, so upstream-sources.json is untouched.

Verification: pnpm lint (0 errors), tsc --noEmit, vitest run (118 passed), next build.

The MIP knowledge files now follow the format MIP-12 got in portdeveloper#56: a proposal
status, a network status, a dated "Verified" line, and a Sources section
with the canonical spec pinned to a commit. MIP-3 and MIP-4 (Final, active
since MONAD_NINE) and MIP-8 (Final, active since MONAD_TEN) cite the
release notes that record their activation. MIP-7 is Draft and says
plainly that the bundle has no activation evidence. MIP-12 is unchanged.

The chat route builds its instructions in a server-side helper that always
appends an evidence rule and the current UTC date after the configured
system prompt, so a custom prompt from Edge Config cannot drop them. The
rule keeps proposal status and activation apart, asks for the bundle's
source link and verification date, and says to state that activation can't
be confirmed when the evidence is missing. No model, tool or rendering
change.

Tests call the real POST handler with the provider mocked and check the
outgoing system message for a Final MIP with sourced activation, a Final
MIP with no activation evidence, and a custom admin prompt. Another test
keeps every mip-*.md on the same status and sources format.

Closes portdeveloper#52
@vercel

vercel Bot commented Oct 5, 2026

Copy link
Copy Markdown

@ShadowOfTime1 is attempting to deploy a commit to the MF Experimental Team on Vercel.

A member of the Team first needs to authorize it.

@portdeveloper portdeveloper left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks for keeping the evidence rule present with a custom prompt

@portdeveloper
portdeveloper merged commit 266e960 into portdeveloper:master Oct 5, 2026
1 of 2 checks passed
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.

Give chat status answers dated sources and separate activation evidence

2 participants