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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions