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
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Core application code lives in `core/`:
- `core/main.py`: FastAPI entrypoint, API routes, orchestrator loop, lifespan.
- `core/model_state.py`: Model registry, settings persistence, projector helpers.
- `core/runtime_state.py`: Runtime config, dual-runtime slot discovery, system metrics, power calibration.
- `core/inferno/`: Inference layer — backend proxy, model family classification, LiteRT adapter, launch config builder. See `core/inferno/__init__.py` for boundary contract.
- `inferno` (external package, [`potato-os/inferno`](https://github.com/potato-os/inferno)): Inference layer — backend proxy, model family classification, LiteRT adapter, launch config builder, model registry, runtime management, orchestration. Installed via `requirements.txt`.
- `core/assets/`: Frontend — `index.html`, `shell.css`, `shell.js` (platform shell), vendor libs.
- `core/rig_envelope.py`: RIG step envelope validation (MS/TS contract checks).

Expand Down Expand Up @@ -66,6 +66,8 @@ These commands are written for a **macOS dev environment**. `COPYFILE_DISABLE=1`
--rsync-path="SUDO_ASKPASS=/opt/potato/bin/askpass.sh sudo -A rsync" \
-e "ssh -o StrictHostKeyChecking=accept-new" \
core/ pi@potato.local:/opt/potato/core/
sshpass -e ssh pi@potato.local \
"echo raspberry | sudo -S /opt/potato/venv/bin/pip install -r /opt/potato/core/requirements.txt"
```
- Fast apps deploy:
```
Expand Down
4 changes: 2 additions & 2 deletions apps/chat/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
from fastapi import APIRouter, Depends, HTTPException, Request, Response
from fastapi.responses import JSONResponse, StreamingResponse

from inferno import BackendProxyError, ChatRepositoryManager

try:
from core.deps import get_runtime, get_chat_repository
from core.model_state import apply_model_chat_defaults
from core.inferno import BackendProxyError, ChatRepositoryManager
from core.runtime_state import RuntimeConfig
from core.settings import merge_active_model_chat_defaults, merge_chat_defaults
except ModuleNotFoundError:
from deps import get_runtime, get_chat_repository # type: ignore[no-redef]
from model_state import apply_model_chat_defaults # type: ignore[no-redef]
from inferno import BackendProxyError, ChatRepositoryManager # type: ignore[no-redef]
from runtime_state import RuntimeConfig # type: ignore[no-redef]
from settings import merge_active_model_chat_defaults, merge_chat_defaults # type: ignore[no-redef]

Expand Down
4 changes: 2 additions & 2 deletions bin/install_dev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,8 @@ rm -f "${sudoers_terminal_tmp}"

sudoers_ota_tmp="$(mktemp)"
cat > "${sudoers_ota_tmp}" <<'SUDOERS'
potato ALL=(root) NOPASSWD: /bin/chown -R potato\:potato /opt/potato/app
potato ALL=(root) NOPASSWD: /usr/bin/chown -R potato\:potato /opt/potato/app
potato ALL=(root) NOPASSWD: /bin/chown -R potato\:potato /opt/potato/core
potato ALL=(root) NOPASSWD: /usr/bin/chown -R potato\:potato /opt/potato/core
potato ALL=(root) NOPASSWD: /bin/chown -R potato\:potato /opt/potato/bin
potato ALL=(root) NOPASSWD: /usr/bin/chown -R potato\:potato /opt/potato/bin
SUDOERS
Expand Down
2 changes: 1 addition & 1 deletion bin/start_litert.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export POTATO_BASE_DIR
cd "${POTATO_BASE_DIR}"

exec "${POTATO_VENV_DIR}/bin/uvicorn" \
core.inferno.litert_adapter:app \
inferno.litert_adapter:app \
--host 0.0.0.0 \
--port "${POTATO_LLAMA_PORT}" \
--workers 1
2 changes: 1 addition & 1 deletion bin/start_llama.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Thin wrapper around llama-server — all business logic lives in Python
# (core.inferno.launch_config.build_llama_server_args).
# (inferno.launch_config.build_llama_server_args).
#
# This script only handles:
# 1. Dynamic library path for GGML backends
Expand Down
4 changes: 2 additions & 2 deletions core/deps.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

from fastapi import Request

from inferno import ChatRepositoryManager

try:
from core.runtime_state import RuntimeConfig
from core.inferno import ChatRepositoryManager
except ModuleNotFoundError:
from runtime_state import RuntimeConfig # type: ignore[no-redef]
from inferno import ChatRepositoryManager # type: ignore[no-redef]


def get_runtime(request: Request) -> RuntimeConfig:
Expand Down
227 changes: 0 additions & 227 deletions core/inferno/__init__.py

This file was deleted.

Loading
Loading