Skip to content
Open
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bin/
dist/
tmp/
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ test:
validate: build
python3 tools/validate_carry_refs.py
bin/$(BIN) carry validate --refs examples
bin/$(BIN) validate --refs examples
bin/$(BIN) list --refs examples
bin/$(BIN) doctor --refs examples
bin/$(BIN) self-test --refs examples
bin/$(BIN) emit-evidence --refs examples >/tmp/sourceos-ai-evidence.json
Expand Down
12 changes: 12 additions & 0 deletions cmd/sourceos-ai/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ func usage() {
Usage:
sourceos-ai --version
sourceos-ai doctor [--refs examples]
sourceos-ai list [--refs examples]
sourceos-ai validate [--refs examples]
sourceos-ai self-test [--refs examples]
sourceos-ai emit-evidence [--refs examples]
sourceos-ai carry list [--refs examples]
Expand All @@ -109,6 +111,16 @@ func main() {
case "doctor":
refs := parseRefs(os.Args[2:])
runDoctor(refs)
case "list":
refs := parseRefs(os.Args[2:])
runList(refs)
case "validate":
refs := parseRefs(os.Args[2:])
results := validateDir(refs)
printJSON(results)
if hasFailures(results) {
os.Exit(1)
}
case "self-test":
refs := parseRefs(os.Args[2:])
runSelfTest(refs)
Expand Down
4 changes: 4 additions & 0 deletions docs/SOURCEOS_AI_CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,17 @@ It validates signed-reference-shaped service carry manifests, lists available go
```bash
sourceos-ai --version
sourceos-ai doctor --refs examples
sourceos-ai list --refs examples
sourceos-ai validate --refs examples
sourceos-ai self-test --refs examples
sourceos-ai emit-evidence --refs examples
sourceos-ai carry list --refs examples
sourceos-ai carry validate --refs examples
sourceos-ai carry doctor --refs examples
```

The `list` and `validate` commands are top-level aliases that match the `carry list` and `carry validate` subcommands respectively, provided for ergonomic CLI use and Homebrew formula testing.

## Build and validation

```bash
Expand Down
64 changes: 64 additions & 0 deletions repo.maturity.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
schemaVersion: repo-maturity.v1
repository: SourceOS-Linux/sourceos-model-carry
plane: carry
status: active
canonicality: canonical
owners:
- SourceOS-Linux
maturity:
level: M2
targetLevel: M3
evidence:
- README.md defines purpose, carry-only doctrine, product boundary, and integration path.
- docs/SOURCEOS_AI_CLI.md documents the sourceos-ai CLI contract covering --version, doctor, list, validate, and emit-evidence.
- docs/ON_DEVICE_ARCHITECTURE.md defines the on-device architecture and carry boundary.
- examples/ contains signed-reference-shaped carry refs for all required surfaces (speech, OCR, image, video, translation, embedding).
- tools/validate_carry_refs.py validates carry-only invariants for all example refs.
- cmd/sourceos-ai/main.go implements the sourceos-ai CLI carrying only clients, launch profiles, cache policy, signed service references, and evidence collectors.
- Makefile provides make validate that proves all carry refs conform to the carry-only contract.
- .github/workflows/validate.yml enforces validation on every PR and push to main.
validation:
commands:
- make validate
ciRequired: true
lastKnownStatus: passing
carryBoundary:
sourceosRole: carry-only
sourceosRefuses:
- mutable model update authority
- model lifecycle state ownership
- service promotion from local workstation state
- ad-hoc artifact replacement
- unmanaged artifact downloads at boot
- agent-controlled model lifecycle changes
- system-plane mutation for model updates
sourceosCarries:
- service clients
- launch profiles
- signed service references
- local cache policy
- fallback references
- ReleaseSet and BootReleaseSet bindings
- evidence collectors
- workstation integration hints
integrations:
- repository: SocioProphet/functional-model-surfaces
relationship: functional AI standards and maturity schema source
required: true
- repository: SocioProphet/prophet-platform
relationship: governed platform service runtime
required: true
- repository: SourceOS-Linux/sourceos-spec
relationship: normative OS object models
required: true
- repository: SourceOS-Linux/sourceos-shell
relationship: command palette, shell, and user workflow surface
required: false
- repository: SourceOS-Linux/sourceos-boot
relationship: ReleaseSet and BootReleaseSet integration
required: false
nextActions:
- Graduate to M3 by adding schema fixtures and negative-case validation tests.
- Register this repo in workspace-inventory/sociosphere scorecard.
- Publish a Homebrew formula that installs sourceos-ai and runs sourceos-ai self-test.
- Add per-surface capability index to the evidence output.
Loading