skeleton: package, schema, config, CLI, alembic, CI, deploy, docs
ci / lint-test-leaks (pull_request) Canceled after 0s

- cayceops core: env-only config (CAYCE_OPS_*), engine/session, ORM models
  with state machines (proposal/mail/content) and audited writes
- provider-agnostic LLM interface (null provider default, stdlib openai-compat)
- Typer CLI with lazy component loading (scanner/executor/maild/publisher/monitor)
- alembic 0001 initial schema; sqlite-portable JSON columns
- tests: 7 passing on throwaway sqlite; fixtures invented, never real data
- ci: ruff + alembic smoke + pytest + gitleaks(full history) in
  .gitea/workflows + .github/workflows; local gate = make check
- deploy: docker-compose (postgres 16) + hardened systemd units/timers
- docs: DECISIONS D1-D9; README project (grant text retired)
This commit is contained in:
2026-10-19 21:35:50 +00:00
parent dbabb26c22
commit 34a5f331ac
32 changed files with 2275 additions and 60 deletions
+23
View File
@@ -0,0 +1,23 @@
"""CLI smoke tests."""
from __future__ import annotations
from typer.testing import CliRunner
from cayceops import __version__
from cayceops.cli import app
runner = CliRunner()
def test_version():
result = runner.invoke(app, ["version"])
assert result.exit_code == 0
assert __version__ in result.output
def test_help_lists_components():
result = runner.invoke(app, ["--help"])
assert result.exit_code == 0
for sub in ("scanner", "executor", "maild", "publisher", "monitor", "db"):
assert sub in result.output