Changelog
0.37.0 - 2026-07-31
Added
- Policy-at-invocation for governed organizations: generated guidance now carries a compact, role-scoped
## Organization Policiesconsultation index with policy summaries, topics, and digest-verifyingmy policy showactions. Real AI launches prove every applicable required or optional committed policy blob locally before emitting launch context or starting a harness. my compileprojects applicable policies as digest-boundpolicies[]references and fails when a policy's mount is outside the selected role. Non-governed projections and guidance remain unchanged.- Policy declarations accept optional one-line
summaryand repeatabletopicsmetadata, includingmy admin policy add --summary/--topicauthoring. - An approachable governance walkthrough documents the employee
my aiexperience, agent consultation contract, admin authoring, durable acceptance ledger, and the beta versus experimental boundary.
Changed
- Bare
my meetingsandmy supportnow list records, including list filters, instead of requiring employees or agents to spell out the default action. - Active session guidance is regenerated from current organization policy when a session starts, joins a harness, or resumes; harness paths retain governed freshness and digest proof immediately before execution.
- Organization skills keep mutable runtime state under
~/.local/state/my-cli/skills/<manifest>/<install-slug>/. Doctor warns about unexpected skill-source files, and publish/sync holds unadopted files under every declared skill source to prevent credentials or caches entering the manifest.
0.36.0 - 2026-07-21
Fixed
- Automatic publication is target-aware in partial Gnit umbrellas: exact roster members use coordinated publishing, while unrostered My AI checkouts use the guarded built-in path. Session publication uses the same planner, previews run the same local preflight, and only rostered targets can be reported as published by Gnit.
- Coordinated publication now holds before mutation when the roster is invalid, a member identity or control root is unpublishable, a member checkout is missing, or whole-workspace Gnit push would exceed the selected My AI scope.
Changed
my doctorreports partial Gnit topology, unmanaged or missing members, invalid rosters, and unpublishable control roots without turning supported unrostered content mounts into operator errors.
Added
- An opt-in beta governed-organization foundation: manifest governance declarations, GitHub-backed authorization, digest-bound policy acceptance and launch gates, PR-only governed publication, trusted-base CI validation, and live enforcement audits. Governance completion, record-domain/outbox work, and organization dogfood remain on their active plan and are not claimed complete by this release.
- Experimental access monitoring, recovery capsules, and quarantine machinery behind explicit per-machine activation. Policy and publication flows never activate it; it remains not recommended for real umbrellas until its separate disposable-private-repository revocation drill passes.
0.35.0 - 2026-07-01
Added
my publish --manifest NAMEis the deliberate control-plane publish path: it commits and pushes dirty manifest/catalog control files (manifest.json,catalog/,skills/,guidance/,agent-guidance/), ending the permanently-dirty manifest checkout without routing the control plane through content auto-publish. The low-level form ismy sync --publish direct --scope manifest; dirty files outside the control-plane paths still hold.my customers add <domain|slug>scaffolds a mountedcustomers/<id>.mdrecord (--name,--domain,--domain-confirmed, repeatable--aliasand--partner); "unknown customer" warnings now point at it instead of keeping a literal slug.- Held-back
my syncresults carry a stablereason_codeand, where actionable, anext_command(both surfaced bymy doctor), including a real first recovery step for dirty-behind and diverged mounts.
Changed
- Handbook mounts default
customers/andfleet/into their publish paths, and record writes warn at creation time when the new file lands outside the mount's declared publish paths, so records no longer sit unpublished silently. - Duplicate role/global guidance is de-duplicated in generated guidance and the launch projection.
Fixed
my sync's active-session hold no longer bounces you towardmy session finish --landwhen the base checkout is dirty (whichrequireBaseReadywould refuse): it now names the dirty base files and tells you to resolve them first.- Finished or migrated sessions replace their local
AGENTS.md/CLAUDE.mdwith a finished-session stub and surface concrete stale/inactive-session diagnostics, so a shell left inside a landed session no longer dead-ends on stalemy workguidance.
0.34.0 - 2026-06-22
Added
my session start|join|resume|status|list|finishis the primary surface for isolated work units (a git worktree per content mount).my ai --new-session,--session ID, and-r/--resumeremain as launch shortcuts;--new-sessionnow prints join/finish hints. Creating a session surfaces its id, path, and mounts plus hints for joining another harness and finishing, and--jsoncarrieslaunch_command,join_command, andfinish_command.
Changed
- The worktree work-unit is consolidated onto the noun "session" end to end: on-disk
work/<id>becomessessions/<id>, branchesmy/work/<id>becomemy/session/<id>, and default ids are noun-free (YYYY-MM-DD-<hex>). A lazy, idempotent, safe migration moves legacy layouts on session commands andmy doctor --fix(never duringmy ai), skipping ambiguous mounts without mutating them.my workremains as a deprecated alias.
Fixed
my aino longer falsely reports workspace guidance as stale (and no longer loops you back tomy setup) when the selected role contributes guidance: the launch freshness check is now role-aware, matchingmy setupandmy doctor. Repairable managed guidance (missing, stale, or brokenCLAUDE.mdalias) is reconciled in place before launch; unmanaged guidance still requiresmy setup --force.
0.33.0 - 2026-06-17
Added
- Default manifest resolution: with more than one registered manifest,
mycommands no longer require--manifest. Precedence is explicit--manifest, then the current umbrella's manifest, then a registry default (initially the first-added manifest). my manifests default [<name>] [--clear]shows or repoints the global default manifest, andmy manifests listmarks the active default.
Changed
- Renamed the bundled self-skill from
mytomy-cli; existing managed installs migrate automatically on the next CLI run or explicit self-skill install, while the canonical id remainsmy:self.
0.32.1 - 2026-06-16
Fixed
- Release CI: CLI Git test clones now get a local commit identity, so the test suite that goreleaser runs no longer fails on runners without a global Git identity. (v0.32.0 was tagged but failed to publish for this reason.)
Changed
- Docs site: the header and homepage hero now use the text wordmark
> my aiinstead of an image logo.
0.32.0 - 2026-06-16
Changed
my syncis pull-only by default. Publishing local changes now requiresmy sync --pushor an explicit--publishmode; manifestsync.publish_policyselects the mode for--pushrather than making bare sync publish.- Human output for setup, sync, and work-session finish is shorter by default, with
--verboseavailable for full row-level detail. - Agent-operated onboarding now anchors walkthrough commands at the umbrella root and treats explicit "file it" requests as authorization to file a public-safe project issue.
- Work-session guidance now embeds concrete startup context for launched harnesses: umbrella root, organization, selected role, session id/path, mount worktrees, exact resume/finish commands, and the generated base umbrella guidance including organization contract rules. Resuming a session with
my ai --sessionormy ai -rrewrites stale session guidance before launch.
Fixed
my doctorno longer reports an older cached latest release as if the installed CLI were stale.
0.31.0 - 2026-06-16
Added
my ai -r/my ai --resumelaunches a harness in an active work session, with single-session auto-selection, an interactive picker, and deterministic non-interactive errors that list active session ids.
Changed
- Model-driven onboarding now starts a split-pane learn-by-example walkthrough instead of asking for an
OKhandshake. The operator runs small command sets, the assistant pauses after each set, and onboarding focuses on basic workflows while deeper record and admin work stays agent-operated. my work resumeis documented as a shellcdhelper; usemy ai -r [session-id] [harness]to resume work in a harness.
Fixed
- Repo-session documentation now states that catalog code repos launch with
my ai --repoand are not landed bymy work finishyet.
0.30.1 - 2026-06-16
Changed
my updatenow resolves the latest release through GitHub's publicreleases/latestredirect instead of the rate-limited REST API.
Fixed
- Interactive model-driven onboarding now prompts to replace or skip an existing non-My AI launch skill entry instead of aborting before the harness starts.
0.30.0 - 2026-06-16
Added
my onboarding --no-agentto force the deterministic walkthrough/status review instead of launching a harness.
Changed
my onboardingis now the primary guided onboarding command. In an interactive terminal it launches model-driven onboarding by default, auto-detecting a logged-in or singly installed harness when possible;my onboardremains as a compatibility alias.- Onboarding output now uses readable human prompts and next-step commands instead of tabular status rows.
0.29.0 - 2026-06-16
Added
my admin roles add|edit|removeandmy admin services add|edit|removefor command-driven manifest authoring of role loadouts and service surfaces.my onboard --agent [--harness NAME]to launch a harness with the bundled Agent-Operated Onboarding guidance. Zero-manifest runs start the harness from the current directory for AUTHOR bootstrap; registered-manifest runs reuse the normalmy ai --setup --no-sessionlaunch path for JOIN onboarding.
Changed
- The project is now My AI: the CLI is
my, installed fromfluxinc/my-cli(https://my-cli.com), with umbrella state under.my-cli/andMYCLI_*environment variables. Release archives aremy-cli_<version>_<os>_<arch>.tar.gz.
0.28.0 - 2026-06-15
Added
- Windows release builds: archives now include
windows/amd64andwindows/arm64, somy updatecan fetch a Windows package.
Fixed
my updateon Windows: extract themy.exebinary from the release archive, and replace the running executable with a rename-aside (Windows locks a running binary, so the old one is moved to<path>.oldand cleaned up on a later update).
0.27.0 - 2026-06-14
Added
- Launch-scoped skill composition:
my aicomposes the organization skills for a launch and materializes them as disposable derived state in the launch root's.agents/skills/(copied, with.my-cli-managed.jsonmarkers and per-slug ownership), instead of installing organization skills into harness user config directories. Non-My AI entries are never clobbered. my ai --skills all|none|<id,...>andmy ai --profile <id>skill selectors, plus a manifestprofileslist of named loadouts.--skillsand--profileare mutually exclusive; unsatisfiable skill requirements fail with a precise closure error.- Harness launch-root skill capability model: Codex and Antigravity read
.agents/skillsdirectly; Claude Code gets a generated.claude/skillsmirror. - Antigravity (
agy) harness support.
Changed
my setup,my sync,my manifests sync, andmy doctor --fixno longer install organization skills into harness user config directories for launch-root-capable harnesses; those skills are now launch-scoped.my doctor --fixremoves leftover user-global organization skills. The bundledmyself-skill stays on the global ensure path during migration.- OpenCode keeps organization skills user-global (it has no launch-root skill discovery);
my ai --skills/--profileis rejected for OpenCode.
Removed
- Removed Gemini harness support entirely. Antigravity (
agy) is the replacement;my ai geminiand Gemini skill management are no longer supported.
0.26.0 - 2026-06-14
Added
my onboard: a human walkthrough that explains the model, handles the no-manifest case with registration guidance, offers interactive setup on first run, and records umbrella-local tour completion.my setup --interactive: explicit prompt mode for manifest and role selection, including role clearing vianone.
Removed
- Removed the deprecated
my onboard->my setupalias.onboardis now a real tour command;setupremains the deterministic machine configurator.
0.25.0 - 2026-06-14
Added
my compile --role <id> [--manifest NAME] [--home DIR]: emits a deterministic manifest-to-Clawdapus launch projection JSON artifact without launching containers, resolving credentials, or fetching service descriptors.
Removed
- Removed the deprecated
my launchdispatch alias. Usemy aifor local harness startup andmy compilefor the contained-runner projection.
0.24.0 - 2026-06-13
Added
- Data bindings may carry domain-notes
guidancefragments. Those fragments render into generatedAGENTS.mdunder a labeled, source-attributed## Domain Notes: <data type>section, kept separate from the organization contract and themy contractverbs.
0.23.0 - 2026-06-13
Added
- Manifest
data_bindings: map stable operational data nouns (customers,meetings,support,fleet) to declaredmount:<id>orservice:<id>surfaces. Mount-backed bindings narrow existing local record commands; service-backed bindings are validated but deferred until service-domain invocation ships.
Changed
- Roles are documented and reported as local loadouts/selections rather than authority grants.
Removed
- Removed the vestigial service
grantfield from the manifest schema andmy servicesoutput. Existing manifest JSON that still containsgrantremains load-tolerant because unknown fields are ignored.
0.22.0 - 2026-06-13
Changed
my customers listnow reads mountedcustomers/*.mdcustomer identity records instead of manifestcatalog/customers.json, so customer data lives in the workspace data plane and follows the backing Git/API permissions.my initscaffolds a workspacecustomers/directory instead of an empty manifest customer catalog.
Removed
- Removed
my admin customers add|editand manifest customer catalog validation/loading. Customers are operational records, not manifest admin data.
0.21.0 - 2026-06-12
Added
my contract list: inspect the organization contract rules in force, with manifest name and the 1-based index used for removal.my admin contract add "RULE" --manifest-dir DIRandmy admin contract remove <index|"RULE"> --manifest-dir DIR: edit the manifest contract through the standard admin review-commit-push flow, with duplicate, empty, and multiline rules rejected.- Documentation: new guide pages for Guidance and Contract, Records (meetings/support/fleet), Work Sessions, Services and Roles, and Sync/Doctor/Updates; the site sidebar now covers the full command surface.
0.20.0 - 2026-06-12
Added
- Manifest
contract: a list of short, binding organization rules rendered as an## Organization Contractsection in generatedAGENTS.md, between the public baseline and manifest guidance fragments. Validation rejects empty, multiline, and duplicate rules; existing guidance drift detection and derived reconcile cover contract changes automatically. - Added a built-in Fleet Work Contract to generated guidance and the bundled
myself-skill: agents should start substantive fleet work withmy fleet get, continue a related support record or create a new dated one withmy support add, carry fleet identifiers with repeated--identifier, and publish throughmy sync. my fleet gethuman output now ends with a support-record next step, including anmy support addcommand seeded with the fleet id, known identifiers, and customer when available. JSON output is unchanged.
0.19.0 - 2026-06-12
Changed
- Split the
internal/cliimplementation into per-domain files without behavior changes:cli.gonow holds only the app core, dispatcher, usage, version, and update plumbing, while command implementations live with their domains. The matching CLI tests were split into per-domain_test.gofiles, leavingcli_test.gofor shared helpers and cross-cutting tests.
0.18.0 - 2026-06-12
Added
- Manifest
servicesandrolessections: services describe the organization's remote surfaces (kind: http|mcp,describe_ref, URIauth_refsuch asop://,env://,broker://, ornone, optional server.json-shaped inlineconnectionfor MCP); roles grant mounts, skills, tools, and services. Validation covers ids, kinds, auth/describe references, connection shape, and grant resolution. - Skills may declare
requires: ["service:<id>"]alongside the existingworkspace:andtool:forms;my skills showsurfaces declared requirements. my services list|getandmy roles list|getinspection commands with--json.my setup --role <id>persists the selected role in.my-cli/state.json, appends role-specific guidance fragments to generatedAGENTS.md, and makes the selected role available for role-scoped service materialization.my setup(and the derived reconcile inmy sync/my manifests sync) now materializes an umbrella-root.mcp.jsonfrom MCP services with local connection data (inlineconnectionor a checked-in descriptor), scoped to the selected role. Values pass through as${VAR}placeholders — never resolved secrets, never network fetches. A hand-written.mcp.jsonis never overwritten without--force.my doctorgained aservicesection: it reports MCP services without local connection data (URL-onlydescribe_ref), missing checked-in descriptors, unset environment variables referenced byauth_refor connection placeholders, andop://references without the op CLI on PATH.
0.17.0 - 2026-06-11
Fixed
- Recording commands (
my meetings add,my support add, andmy fleet add) now detect when the current directory is inside an active work session and write records to that session's mount worktree instead of silently writing to the base umbrella checkout.
Changed
my ainow launches from the base umbrella by default. Work sessions are explicit withmy ai --new-sessionormy ai --session <id>; when run from inside an active session, plainmy ai <harness>continues launching from that current session.--no-sessionremains available to ignore a current session for base inspection/admin work.
0.16.0 - 2026-06-11
Fixed
my aino longer creates an orphan work session when the requested harness binary is missing from PATH: the binary is resolved before a new default session is created, and the error says no session was created. Resume (--session) and base (--no-session) launches still print the exact fallback command.my ai --printkeeps creating a session, as documented.
Added
my doctornow reports work sessions: each active session shows its live state (okwhen clean,warningwith dirty/unlanded counts and the matchingmy work finishcommand,errorwhen a worktree is missing or git inspection fails), and finished/discarded registry records roll up into a single archived count. The JSON report gains asessionssection.- Added
my work listas an alias formy work status. Human work-session output now includes session-specific follow-up commands:work startprintsmy work finish <id> ..., andwork finishprints anextline for the natural follow-up (my sync,my sync --print, ormy work status).
0.15.0 - 2026-06-11
Changed
- Split catalog products from repository checkouts: products in
catalog/products.jsonare now pure business entities (nogit_url) that may link implementing repos viarepos: ["<repo-id>"], and the organization's repositories live in a newcatalog/repos.jsoninventory. Newmy repos list|add|removeverbs manage clones underrepos/<id>(addis idempotent: an existing clone of the same remote is adopted; conflicting paths hold with remediation).my root/my aitake--repo(--productnow errors with the migration hint);my mounts add product:<id>is removed; the sync scope isrepos(theproductsspelling is gone); sync/doctor report repo checkouts with thereporole. Records keep--productas a business reference. Umbrella state migrates automatically (selected_productstoselected_repos,product:mount entries torepo:); clones underrepos/<id>are untouched. Manifest mount kindrepois removed — repos.json is the single declaration path. A product entry still carryinggit_urlfails validation with the migration message, so migrate private manifests before installing this release. - The bundled
myself-skill and the docs site now document work sessions fully: the Session concept in the model, themy work start/status/resume/finishverbs in the skill's operational surface and task list, and quickstart/launch guidance reflecting thatmy aistarts in a fresh session by default.
0.14.0 - 2026-06-11
Added
- Added
my work start [--slug]andmy work status [--all]: isolated work sessions as visiblework/<id>/directories with a git worktree per synced content mount on a freshmy/work/<id>branch, session-localscratch/, aSESSION.mdsummary, and a first-class session registry under.my-cli/sessions/. Repo-kind mounts and selected products are not included in session worktrees yet. - Added
my work finish [session-id] --land|--publish|--discard. Landing commits intentional dirty session content, rejects unadopted??files and non-content changes, merges clean session branches into the base checkout, removes session worktrees/branches, and records the session outcome. my sync(and the targeted sync insidemy work finish --publish) now reads the session registry and holds outbound publish of a content mount while any active session on it has dirty files or unlanded commits, naming the session id, path, and themy work finishremediation. Inbound fast-forward pulls are unaffected.my ainow launches from a fresh work session by default, supports--session <id>for explicit resume, and requires--no-sessionfor base umbrella or product checkout launches. Addedmy work resume [session-id]to print a resumable session path.
0.13.2 - 2026-06-10
Changed
- Removed the conflated self-mount compatibility path: mount
git_url: "."is now invalid, mounts always materialize as separate umbrella checkouts, and sync emits separate manifest/content entries instead of a merged workspace role. - Restructured
examples/acme-workspaceinto separatemanifest/andcontent/fixture directories.
0.13.1 - 2026-06-10
Added
- Added
my record adopt <path>to mark an existing file under a declared content mount as intentional publish content using Git intent-to-add.
Fixed
- Recording commands (
my meetings/support/fleet add) now work in a freshly initialized, unpublished organization:local-onlymounts count as usable content roots instead of being skipped.
Changed
my meetings add,my support add, andmy fleet addnow mark created records with Git intent-to-add somy synccan distinguish My-created records from stray untracked drafts.my syncnow holds plain untracked (??) files under content paths and names themy record adopt <path>remediation instead of auto-committing arbitrary new files.
0.13.0 - 2026-06-10
Added
- Added
my publish: one idempotent command to take a local organization online. It creates private remotes for the content and manifest repositories (or adopts existing origins and pushes, verifying GitHub remotes are private), rewrites local mount URLs to the published remotes in a commit scoped tomanifest.json, updates the registry, and prints the teammate join command.--printshows the plan without changing anything. - Checkouts without an
originremote now reportlocal-only(pointing atmy publish) acrossmy manifests sync,my mounts sync, andmy sync, instead of failing. my syncrefuses to publish a manifest whose mounts still reference local paths, andmy doctornames each local-path mount with themy publishremediation, so a machine-local URL can never leak to teammates.
Changed
- The manifest is now a control plane separate from workspace content:
my initcreates two local repositories — a private manifest repo (manifest, catalog, skills, agent guidance) at the registry path, and a content repo at<umbrella>/workspacewith the handbook directories. The workspace never containsmanifest.json, and hosting permissions can restrict manifest pushes to admins while the whole organization pushes content. Published repos default to<org>-manifestand<org>-workspace.my init --pathnow selects the content repo location. - A mount whose git URL matches the manifest's own remote (or the
"."marker) remains supported as a compatibility layout: it resolves to the single registered checkout (no duplicate clone, sparse-checkout skipped, one merged sync entry). New organizations get the two-repo layout.
Fixed
- Content publishing in self-hosted organizations is no longer held back by
another checkout of the same remote has pending changes: the layouts that kept duplicate checkouts of one remote are gone. - Gemini skill installs and uninstalls now respect
--homeisolation instead of writing to the real~/.gemini(#16).
0.12.0 - 2026-06-10
Added
- Added
my init <org-id>to create a small local manifest/handbook repo, commit it, register it, sync the manifest cache, and print the next setup, launch, and optional GitHub publish commands. - Mount
git_url: "."now resolves to the Git URL or local path used to register the manifest, so self-hosted handbook mounts survive publishing.
Fixed
- Reworked the quickstart and manifest docs so the first-run path no longer points at a dead example manifest URL.
0.11.0 - 2026-06-10
Changed
my doctornow reads as a repair dry run: every finding thatmy doctor --fixcan repair is markedwould fast-forward,would reconcile derived guidance and skills, orwould reinstall the my self-skill(alsowould_fixin--json), with a closingfixablecount pointing atmy doctor --fix. Findings doctor cannot repair keep their explanatory remediation text.
0.10.0 - 2026-06-10
Changed
- Product repositories now clone under
repos/<id>instead ofproducts/<id>.my setupmigrates an existingproducts/directory automatically, and legacyproducts/<id>checkouts keep resolving until migrated. The sync scope acceptsrepos(theproductsspelling still works). - Startup commands (
my root,my ai,my setup) now print a stderrnoticeline for checkouts the auto-refresh cannot converge — dirty, ahead, behind, or diverged — naming the repository and the command that reconciles it. Stdout is unchanged, socd "$(my root)"remains safe.
Fixed
my manifests syncnow reconciles generated guidance and manifest skills after pulling or cloning a changed manifest for an existing matching umbrella; pass--no-derivedfor a cache-only refresh.my ainow ensures the bundledmyself-skill is installed before it execs a filesystem harness, and manifest skill sync/purge no longer removes that self-skill.
0.9.0 - 2026-06-10
Added
- Added
my support list/search/get/addfor anonymized support records undersupport/, with qmd-first search, a built-in markdown search fallback, and linkable frontmatter attribution: an optional canonical customer ID, a repeatable--identifierlist for device, order, or asset identifiers, and org member fields (claimed_by,observed_by, and the human sign-offapproved_by). - Added
supportas a manifest mount kind; handbook mounts without explicitinclude_pathsnow treatsupport/as approved content for sync publishing. - Added
my fleet list/search/get/add/setand thefleetmount kind: a registry of deployed instances with one record per stable id underfleet/<id>.md, updated in place.my fleet getresolves any entry in a record'sidentifierslist and reports related support records;my fleet setupdates scalar frontmatter while preserving everything else and suggests anmy sync --messagecommand for the transition; andmy support addwarns when an--identifieris unknown to the registry. - Extracted the shared
internal/recordengine behind meetings, support, and fleet records (frontmatter parsing now ignores inline YAML comments in unquoted values).
Fixed
my doctornow reports an absent or stalemyself-skill on present harnesses instead of claiming no skill drift, andmy doctor --fixreinstalls it (#13).
0.8.0 - 2026-06-09
Changed
- Renamed the CLI from
fluxtomyand the project to My AI (github.com/fluxinc/my-cli); commands read as possessive English. flux launchis nowmy ai;flux onboardis nowmy setup(deprecated aliases warn on stderr).- Pluralized noun command groups (
manifests,mounts,workspaces);catalog list productsis nowproducts list. - Built-in sync backend renamed from
fluxtobuiltin. .flux/is now.my-cli/,~/.local/share/fluxis now~/.local/share/my-cli,~/.config/flux/manifests.jsonis now~/.config/my-cli/manifests.json, andFLUX_*environment variables are nowMYCLI_*.- Release archives are
my-cli_<version>_<os>_<arch>.tar.gzwith themybinary inside; the bundled self-skill ismy(idmy:self). my doctordetects legacy Flux state and prints migration remediation.
0.7.0 - 2026-06-09
Added
- Added
flux tools listto enumerate manifest-declared tools. - Added
flux admin tools add|edit|removefor manifest tool declarations, with validation and skill-reference checks on removal.
Changed
- Renamed the multi-repo sync backend from Nit to Gnit (
--backend gnit,.gnit/roster.yaml,gnit_rootin JSON output).
0.6.0 - 2026-06-09
Added
- Added
flux updatefor checksum-verified self-updates from GitHub release tarballs, with--check,--version,--json, and managed-install guidance. flux root,flux launch, andflux onboardemit a non-blocking stderr notice when a newer Flux release is available, with--no-update-check,FLUX_NO_UPDATE_CHECK, andFLUX_UPDATE_CHECK_TTLcontrols.flux doctorreports the running Flux version and latest known release.
0.5.0 - 2026-06-08
Added
flux doctorreports per-checkout Git freshness, derived skill/guidance drift, and the last sync/publish audit.- Added
flux doctor --fixfor guarded fast-forward remediation of clean stale manifest/content checkouts plus derived skill/guidance reconcile. flux syncrecords non-print runs to.flux/last-sync.json; doctor fetches refs by default and supports--no-fetchfor offline freshness checks.flux syncreconciles generated guidance and manifest skills after manifest checkout changes, with--no-derivedas an escape hatch.flux root,flux launch, andflux onboardperform a best-effort, TTL-gated refresh for clean manifest/content checkouts, with--no-refresh,FLUX_NO_AUTO_REFRESH, andFLUX_REFRESH_TTLcontrols.- Manifests can set
sync.publish_policytoauto,never, orpras the default forflux syncwhen--publishis omitted. - Added
flux admin customers addandflux admin customers editfor customer catalog writes. flux admin skills removereports orphaned tools and allowed skill namespaces, and can remove them with--prune-orphans.
Fixed
flux meetings addhandles date-prefixed slugs and comma-containing attendees/partners correctly.- Manifest writes omit zero-value JSON fields instead of adding unrelated serialization noise.
0.4.0 - 2026-06-08
Added
- Added the bundled
fluxCLI self-skill andflux skills self install|uninstall|status.
Changed
- The installer and
flux onboardnow install the bundled Flux self-skill into existing harnesses, and human CLI runs quietly refresh already-installed file-based copies. - Documented the public/private skill model: the
fluxself-skill ships in the public binary; organization skills stay private to a manifest you control.
0.3.0 - 2026-06-08
Added
- Added
flux sync: gnit-first bidirectional umbrella reconciliation with a conservative auto policy (direct-push only private, content-only changes). - Gnit is the multi-repo publish backend once the umbrella is a Gnit control workspace; a guarded Flux Git path is the fallback. Same-remote duplicate checkouts are detected and held when unsafe.
0.2.0 - 2026-06-03
Added
- Added
flux skills showandflux skills status. - Added
--skillfiltering for skill install, uninstall, sync, purge, and status commands. - Added
flux skills syncandflux skills purgefor local harness reconciliation. - Added
flux admin skills addandflux admin skills removefor manifest skill authoring against a maintainer checkout. - Added admin aliases for mutating/configuration commands.
- Added release packaging, checksum-verified install script, and GitHub Pages documentation site.
Changed
- Clarified that operational reads stay top-level while admin commands mutate shared or workspace configuration.
- Preserved top-level mutating forms as quiet compatibility aliases.
0.1.0 - 2026-05-21
Added
- Added
flux customers listfor canonical customer IDs, aliases, domains, and partner metadata from manifest customer catalogs. - Added customer alias resolution for
flux meetings list,search, andadd. - Added meeting metadata for partners, attendees, and source IDs.
- Added qmd-first meeting search with built-in markdown search fallback.
- Added configured umbrella discovery for meeting commands run outside the umbrella directory.
- Added
flux versionandflux --version.
Changed
- Updated generated workspace guidance and the example handbook skill.
- Documented the split between skill materialization and regenerated workspace guidance.