Skip to content

Portable AI Kit parity: match USB local-AI appliance capabilities with SourceOS governance #17

@mdheller

Description

@mdheller

Goal

Build SourceOS Portable AI Kit to match the practical user-facing capabilities of lightweight portable USB AI projects while exceeding them on governance, provenance, policy, and evidence.

Parity target

The baseline external pattern has:

  • one-time USB/SSD setup;
  • interactive model selection;
  • curated local model menu;
  • custom GGUF import;
  • Ollama-compatible runtime;
  • local chat UI;
  • offline use after setup;
  • USB-local chat/config/model state;
  • preflight checks on Linux;
  • Windows/macOS/Linux launch scripts;
  • safe shutdown instructions;
  • simple product promise.

SourceOS acceptance criteria

  • sourceosctl portable-ai preflight or standalone sourceos-portable-ai preflight produces structured JSON evidence.
  • portable-ai profiles lists tiny-router, laptop-safe, office-local, code-local, field-kit, and byom-gguf profiles.
  • portable-ai prepare --dry-run renders the portable root layout plan.
  • portable-ai prepare --execute --policy-ok creates only declared directories and writes PortableAIRoot manifest/evidence.
  • portable-ai start-plan renders a runtime/surface launch plan without starting daemons.
  • Model packs are represented by sourceos-model-carry manifests before route eligibility.
  • Agent Machine owns activation, teardown, wipe, and runtime evidence.
  • TurtleTerm is the first-class UI target; AgentTerm and BearBrowser are supported surfaces.
  • Prompt egress is denied by default.
  • Host writes are denied or explicitly scoped and auditable.
  • BYOM GGUF import requires hash/provenance/license posture before route eligibility.
  • README presents one obvious demo path.

Initial PRs

Non-goals

  • Do not market unsafe universal-compliance or uncensored behavior as the product value.
  • Do not make SourceOS model-carry the model lifecycle authority.
  • Do not start runtimes before Agent Machine activation gates exist.
  • Do not download model weights implicitly.
  • Do not store secrets or prompt bodies in evidence.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions