Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 18 additions & 16 deletions .agents/skills/coding-prompt-normalizer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@ execution.

Be honest about the current state of the repository:

- this repo has a scaffolded `npx @gonkagate/mimo-code-setup` public entrypoint;
the installer runtime is not implemented yet
- `README.md`, `AGENTS.md`, `docs/`, `src/cli.ts`, `src/constants/`, and the
PRD are the main product-contract surfaces today
- the public CLI intentionally reports `not_implemented`; it does not validate
local `mimo`, collect secrets, write config, or verify effective config yet
- `src/install/` does not exist yet unless a later task explicitly creates it
- the current verified MiMoCode baseline is `@mimo-ai/cli` `0.1.0` as of
June 11, 2026
- this repo has a public `npx @gonkagate/mimo-code-setup` entrypoint wired to
the installer runtime
- `README.md`, `AGENTS.md`, `docs/`, `src/cli.ts`, `src/cli/`,
`src/install/`, `src/constants/`, and the PRD are the main product-contract
surfaces today
- the public CLI validates local `mimo`, collects the GonkaGate key safely,
fetches the live model catalog, writes MiMoCode config, and verifies
effective config when prerequisites pass
- the minimum supported upstream MiMoCode version is `@mimo-ai/cli` `0.1.0`;
newer MiMoCode versions must not be blocked solely because they are newer

Do not normalize a prompt into a fake implementation brief for files or
behaviors that do not exist unless the user is explicitly asking to create
Expand Down Expand Up @@ -235,8 +236,8 @@ Do not force all sections when `1-2` focused paragraphs do the job better.
checks, or specific workflow checks. Do not default to broad repo-wide
validation unless the change is broad.
- Do not repeat repo-wide instructions unless they materially affect this task.
- Use the existing `src/` surfaces when they are materially relevant, and do
not mention `src/install/` as existing until the runtime is implemented.
- Use the existing `src/` and `src/install/` surfaces when they are materially
relevant.
- When the task touches a mirrored local skill, prefer keeping the `.claude`
and `.agents` copies aligned unless the request says otherwise.
- Do not propose product changes like `.env` writing, shell profile edits,
Expand Down Expand Up @@ -269,9 +270,9 @@ exact literal, removing stale Codex-specific wording, and keeping the mirrored
`.agents` copy aligned.

Relevant repository context
- This repository has a scaffolded `npx @gonkagate/mimo-code-setup` entrypoint
that reports `not_implemented`, so prompt assets should not claim real
runtime behavior before `src/install/` exists.
- This repository has a public `npx @gonkagate/mimo-code-setup` entrypoint
wired to the installer runtime, including safe secret intake, live catalog
fetch, config writes, and effective-config verification.
- Local agent-support assets are mirrored under `.claude/skills/` and
`.agents/skills/`; changes to one copy should normally be reflected in the
other.
Expand Down Expand Up @@ -318,8 +319,9 @@ Perform a read-only truthfulness review of the current public product docs,
with findings first and ordered by severity.

Relevant repository context
- This repository does not ship an implemented MiMoCode installer yet, so docs
should distinguish scaffolded behavior from future product plans.
- This repository ships an implemented MiMoCode installer runtime, so docs
should describe implemented behavior accurately instead of scaffold-only
plans.
- `README.md` and `docs/how-it-works.md` are the main contract surfaces for
the `npx @gonkagate/mimo-code-setup` flow.
- `chat_completions` is part of the current transport contract and should be
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ points.
- The downstream agent already works inside this repository.
- Do not explain how to inspect files, edit code, create folders, or run
ordinary repo commands.
- `mimo-code-setup` is a TypeScript/Node scaffold for a future installer that
will configure local MiMoCode to use GonkaGate.
- Canonical surfaces today are `src/cli.ts`, `src/constants/`,
- `mimo-code-setup` is a TypeScript/Node installer that configures local
MiMoCode to use GonkaGate.
- Canonical surfaces today are `src/cli.ts`, `src/cli/`, `src/install/`,
`src/constants/`,
`README.md`, `AGENTS.md`, `docs/`, `test/package-contract.test.ts`,
`test/docs-contract.test.ts`, `test/skills-contract.test.ts`,
`scripts/run-tests.mjs`, `.github/workflows/`, `package.json`,
Expand All @@ -27,8 +28,10 @@ points.

Include a repository constraint only when it changes the task:

- the target public UX is `npx @gonkagate/mimo-code-setup`, and the current CLI
intentionally reports `not_implemented`
- the target public UX is `npx @gonkagate/mimo-code-setup`, wired to the
installer runtime
- the minimum supported upstream MiMoCode version is `@mimo-ai/cli` `0.1.0`;
newer MiMoCode versions must not be blocked solely because they are newer
- user-level config target is `~/.config/mimocode/mimocode.json`
- project activation target is `.mimocode/mimocode.json`
- the managed provider key is `provider.gonkagate`
Expand Down
34 changes: 18 additions & 16 deletions .claude/skills/coding-prompt-normalizer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@ execution.

Be honest about the current state of the repository:

- this repo has a scaffolded `npx @gonkagate/mimo-code-setup` public entrypoint;
the installer runtime is not implemented yet
- `README.md`, `AGENTS.md`, `docs/`, `src/cli.ts`, `src/constants/`, and the
PRD are the main product-contract surfaces today
- the public CLI intentionally reports `not_implemented`; it does not validate
local `mimo`, collect secrets, write config, or verify effective config yet
- `src/install/` does not exist yet unless a later task explicitly creates it
- the current verified MiMoCode baseline is `@mimo-ai/cli` `0.1.0` as of
June 11, 2026
- this repo has a public `npx @gonkagate/mimo-code-setup` entrypoint wired to
the installer runtime
- `README.md`, `AGENTS.md`, `docs/`, `src/cli.ts`, `src/cli/`,
`src/install/`, `src/constants/`, and the PRD are the main product-contract
surfaces today
- the public CLI validates local `mimo`, collects the GonkaGate key safely,
fetches the live model catalog, writes MiMoCode config, and verifies
effective config when prerequisites pass
- the minimum supported upstream MiMoCode version is `@mimo-ai/cli` `0.1.0`;
newer MiMoCode versions must not be blocked solely because they are newer

Do not normalize a prompt into a fake implementation brief for files or
behaviors that do not exist unless the user is explicitly asking to create
Expand Down Expand Up @@ -235,8 +236,8 @@ Do not force all sections when `1-2` focused paragraphs do the job better.
checks, or specific workflow checks. Do not default to broad repo-wide
validation unless the change is broad.
- Do not repeat repo-wide instructions unless they materially affect this task.
- Use the existing `src/` surfaces when they are materially relevant, and do
not mention `src/install/` as existing until the runtime is implemented.
- Use the existing `src/` and `src/install/` surfaces when they are materially
relevant.
- When the task touches a mirrored local skill, prefer keeping the `.claude`
and `.agents` copies aligned unless the request says otherwise.
- Do not propose product changes like `.env` writing, shell profile edits,
Expand Down Expand Up @@ -269,9 +270,9 @@ exact literal, removing stale Codex-specific wording, and keeping the mirrored
`.agents` copy aligned.

Relevant repository context
- This repository has a scaffolded `npx @gonkagate/mimo-code-setup` entrypoint
that reports `not_implemented`, so prompt assets should not claim real
runtime behavior before `src/install/` exists.
- This repository has a public `npx @gonkagate/mimo-code-setup` entrypoint
wired to the installer runtime, including safe secret intake, live catalog
fetch, config writes, and effective-config verification.
- Local agent-support assets are mirrored under `.claude/skills/` and
`.agents/skills/`; changes to one copy should normally be reflected in the
other.
Expand Down Expand Up @@ -318,8 +319,9 @@ Perform a read-only truthfulness review of the current public product docs,
with findings first and ordered by severity.

Relevant repository context
- This repository does not ship an implemented MiMoCode installer yet, so docs
should distinguish scaffolded behavior from future product plans.
- This repository ships an implemented MiMoCode installer runtime, so docs
should describe implemented behavior accurately instead of scaffold-only
plans.
- `README.md` and `docs/how-it-works.md` are the main contract surfaces for
the `npx @gonkagate/mimo-code-setup` flow.
- `chat_completions` is part of the current transport contract and should be
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ points.
- The downstream agent already works inside this repository.
- Do not explain how to inspect files, edit code, create folders, or run
ordinary repo commands.
- `mimo-code-setup` is a TypeScript/Node scaffold for a future installer that
will configure local MiMoCode to use GonkaGate.
- Canonical surfaces today are `src/cli.ts`, `src/constants/`,
- `mimo-code-setup` is a TypeScript/Node installer that configures local
MiMoCode to use GonkaGate.
- Canonical surfaces today are `src/cli.ts`, `src/cli/`, `src/install/`,
`src/constants/`,
`README.md`, `AGENTS.md`, `docs/`, `test/package-contract.test.ts`,
`test/docs-contract.test.ts`, `test/skills-contract.test.ts`,
`scripts/run-tests.mjs`, `.github/workflows/`, `package.json`,
Expand All @@ -27,8 +28,10 @@ points.

Include a repository constraint only when it changes the task:

- the target public UX is `npx @gonkagate/mimo-code-setup`, and the current CLI
intentionally reports `not_implemented`
- the target public UX is `npx @gonkagate/mimo-code-setup`, wired to the
installer runtime
- the minimum supported upstream MiMoCode version is `@mimo-ai/cli` `0.1.0`;
newer MiMoCode versions must not be blocked solely because they are newer
- user-level config target is `~/.config/mimocode/mimocode.json`
- project activation target is `.mimocode/mimocode.json`
- the managed provider key is `provider.gonkagate`
Expand Down
15 changes: 8 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Current honest state:
- package metadata, TypeScript build, CI workflows, release scaffolding,
mirrored skills, and contract tests are present
- the latest compatibility audit found no hard blocker in official MiMoCode
`@mimo-ai/cli` `0.1.0` for the planned `provider.gonkagate` shape, but
`@mimo-ai/cli` releases for the planned `provider.gonkagate` shape, but
runtime implementation must honor MiMoCode-specific config precedence and
full-slug model keys
- `src/cli.ts` is a thin entrypoint over split CLI seams and now calls the
Expand All @@ -34,12 +34,12 @@ Current honest state:
`GET https://api.gonkagate.com/v1/models`, and writes every returned model
into `provider.gonkagate.models`
- `moonshotai/kimi-k2.6` has MiMoCode validation proof for the current
`@mimo-ai/cli` `0.1.0` baseline, but the public picker is now backed by the
live GonkaGate model catalog rather than a hardcoded validated allowlist
minimum-supported MiMoCode contract, but the public picker is now backed by
the live GonkaGate model catalog rather than a hardcoded validated allowlist

If implementation status, package name, security flow, config locations,
transport contract, or verified MiMoCode baseline changes, this file must be
updated immediately so it stays truthful.
transport contract, or minimum supported MiMoCode version changes, this file
must be updated immediately so it stays truthful.

## Product Goal

Expand Down Expand Up @@ -77,7 +77,8 @@ change.
rename
- target CLI: `mimo`
- target upstream package: `@mimo-ai/cli`
- current verified MiMoCode baseline: minimum `0.1.0`, audited on 2026-06-11
- minimum supported MiMoCode version: `0.1.0`; newer versions must not be
blocked solely because they are newer
- documented global config example: `~/.config/mimocode/mimocode.json`
- actual global config target must be resolved from MiMoCode paths and existing
`mimocode.jsonc`, `mimocode.json`, or `config.json` files; create
Expand Down Expand Up @@ -142,7 +143,7 @@ This repo currently does:
- define the product contract for the MiMoCode setup tool
- provide npm packaging, CI, release-please, and publish scaffolding
- provide a public CLI entrypoint that can configure MiMoCode when the local
`mimo` baseline, secret input, live model-catalog fetch, and
`mimo` minimum-version check, secret input, live model-catalog fetch, and
effective-config verification pass
- provide docs and tests that protect the current runtime contract
- provide mirrored local skills for repo-aware agent work
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,10 @@ You need:
- a GonkaGate API key in the usual `gp-...` format
from [GonkaGate](https://gonkagate.com/en/register)

Current MiMoCode baseline:
Current MiMoCode compatibility floor:

- minimum verified MiMoCode version: `0.1.0`
- audited upstream package: `@mimo-ai/cli` `0.1.0` as of June 11, 2026
- minimum supported MiMoCode version: `0.1.0`
- newer MiMoCode versions are allowed and verified by the setup flow itself

## What The Installer Actually Changes

Expand Down
7 changes: 4 additions & 3 deletions docs/how-it-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ a hardcoded allowlist.

## Planned Flow

1. Validate that the local `mimo` CLI is available and compatible with the
audited MiMoCode baseline.
1. Validate that the local `mimo` CLI is available and not older than the
minimum supported MiMoCode version.
2. Resolve safe config and state paths without mutating shell profiles or `.env`
files.
3. Collect a GonkaGate API key through safe inputs only:
Expand All @@ -24,7 +24,8 @@ a hardcoded allowlist.

## MiMoCode Surfaces

The PRD is based on the MiMoCode upstream contract observed on 2026-06-11:
The PRD is based on the MiMoCode upstream contract observed on 2026-06-11,
with newer MiMoCode versions allowed by default:

- CLI command: `mimo`
- npm package: `@mimo-ai/cli`
Expand Down
5 changes: 3 additions & 2 deletions docs/runtime-contract-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ When setup behavior changes from scaffold-only to implemented runtime behavior,
update these surfaces together:

- `AGENTS.md` - repository truth, product/security invariants, implementation
status, validation baseline, supported setup behavior, and validation command.
status, minimum MiMoCode version, supported setup behavior, and validation
command.
- `README.md` - public status, npm entrypoint, runtime flow, supported flags,
config targets, live model-catalog behavior, and local development checks.
- `docs/how-it-works.md` - runtime architecture, scope behavior, config-layer
Expand All @@ -22,7 +23,7 @@ update these surfaces together:
to paste raw `mimo --pure debug config` output.
- `CHANGELOG.md` - meaningful user-facing runtime changes.
- `src/constants/contract.ts` - package identity, public implementation status,
MiMoCode baseline, and live catalog source.
MiMoCode minimum version, and live catalog source.
- `src/install/model-catalog.ts` - `/v1/models` fetch and response-shape
boundary.
- `src/constants/models.ts` - model metadata and validation helper types.
Expand Down
29 changes: 14 additions & 15 deletions docs/specs/mimo-code-setup-prd/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ npx @gonkagate/mimo-code-setup
The tool:

1. validates local `mimo`
2. verifies that the installed MiMoCode version is supported or clearly reports
that it is newer than the last audited baseline
2. verifies that the installed MiMoCode version is not older than the minimum
supported version
3. accepts a GonkaGate API key through a masked prompt, `GONKAGATE_API_KEY`, or
`--api-key-stdin`
4. calls `GET /v1/models` with that key and offers every returned GonkaGate
Expand Down Expand Up @@ -162,7 +162,8 @@ Contributor user:

- the target CLI is `mimo`
- the target package being configured is `@mimo-ai/cli`
- the first audited upstream baseline is `@mimo-ai/cli` `0.1.0`
- the minimum supported upstream version is `@mimo-ai/cli` `0.1.0`
- newer MiMoCode versions must not be blocked solely because they are newer
- MiMoCode global config defaults to the XDG config home under `mimocode`
- `MIMOCODE_HOME` changes the config, data, state, and cache roots
- MiMoCode global config candidates include `mimocode.jsonc`,
Expand Down Expand Up @@ -214,24 +215,22 @@ Contributor user:
The package identity must not change if GonkaGate later migrates from
chat-completions compatibility to responses support.

### Verified MiMoCode Baseline
### Minimum Supported MiMoCode Version

The initial verified baseline is:
The minimum supported MiMoCode version is:

- `@mimo-ai/cli >= 0.1.0`

Installer behavior:

- missing `mimo`: stop with MiMoCode install guidance
- version lower than `0.1.0`: stop and request upgrade
- version equal to `0.1.0`: continue
- version newer than `0.1.0`: continue only if the implementation has an
explicit newer-version policy; otherwise report that the version is newer
than the last audited baseline and ask the user to upgrade this setup tool or
continue with a clearly labeled compatibility risk
- version equal to or newer than `0.1.0`: continue
- future MiMoCode versions are validated by the actual setup and effective-config
verification flow, not by a hardcoded audited-version ceiling

The latest audited upstream MiMoCode baseline must be visible in README,
security docs, and the PRD whenever it changes.
The minimum supported MiMoCode version must be visible in README, security docs,
and the PRD whenever it changes.

### Secret Inputs

Expand Down Expand Up @@ -313,7 +312,7 @@ per-user ACLs rather than claiming portable POSIX `chmod` behavior.
- installer version
- selected model key
- selected scope
- audited MiMoCode baseline
- minimum supported MiMoCode version
- selected MiMoCode version
- selected transport contract
- selected provider package
Expand Down Expand Up @@ -478,8 +477,8 @@ claims about richer MiMoCode behavior.
### Model Validation Proof

A model may be documented as MiMoCode workflow-validated only after end-to-end
verification against the current verified MiMoCode baseline for the workflows
the product claims to support.
verification against a named MiMoCode version for the workflows the product
claims to support.

Minimum validation proof for a GonkaGate model includes:

Expand Down
3 changes: 1 addition & 2 deletions src/constants/contract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ export const CONTRACT_METADATA = {
publicEntrypoint: "npx @gonkagate/mimo-code-setup",
publicState:
"Installer runtime fetches the available GonkaGate model catalog from /v1/models after safe API-key intake.",
verifiedMimoCode: {
checkedAt: "2026-06-11",
mimoCode: {
minVersion: "0.1.0",
packageName: "@mimo-ai/cli",
},
Expand Down
5 changes: 2 additions & 3 deletions src/install/contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ export type InstallerStatus = "success" | "blocked" | "failed";
export type VerificationStatus = "passed" | "blocked" | "failed" | "skipped";

export interface MimoCodeVersionInfo {
auditedBaseline: string;
installedVersion: string;
minimumVersion: string;
packageName: string;
policy: "audited" | "newer_blocked" | "newer_allowed_with_warning";
policy: "supported";
}

export interface ConfigTargets {
Expand Down Expand Up @@ -101,7 +101,6 @@ export type InstallerErrorCode =
| "mimocode_not_found"
| "mimocode_version_unparseable"
| "mimocode_version_too_old"
| "mimocode_newer_than_audited"
| "unsafe_api_key_flag"
| "missing_api_key"
| "invalid_api_key"
Expand Down
2 changes: 1 addition & 1 deletion src/install/contracts/install-state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import type { InstallScope } from "../contracts.js";
import type { CuratedModelTransport } from "../../constants/models.js";

export interface InstallState {
auditedMimoCodeBaseline: string;
globalConfigTarget: string;
installerVersion: string;
lastDurableSetupAt: string;
mimoCodeMinimumVersion: string;
mimoCodeVersion: string;
previousManagedModelRef?: string;
projectConfigTarget?: string;
Expand Down
Loading
Loading