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
1 change: 1 addition & 0 deletions .github/workflows/e2e-harness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,7 @@ jobs:
uv run --locked --extra server python -m pytest -vv -ra \
tests/e2e/test_atomic_memory_search_authorization_snapshot.py \
tests/e2e/test_atomic_memory_read_snapshot.py \
tests/e2e/test_server_metrics_oceanbase.py \
tests/e2e/test_runtime_server.py -k oceanbase \
--junitxml="$RUNNER_TEMP/atomic-memory-oceanbase-snapshots.xml"
uv run --locked --extra server python - <<'PY'
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ A managed Skill holds a name, a discovery description, instructions, validation
install or execute it: an exact approved Revision must be exported explicitly before an Agent host can discover the
host-local projection.

[Operational metrics](docs/en/docs/operate/observability.md) expose dependency observations, processing freshness, and attempt latency, including a protected metrics-only endpoint for standalone background deployments.

## Why PowerContext?

- **Context lives outside the conversation.** Memory, Handoff, Experience, and Skill are server-side artifacts, not
Expand Down
2 changes: 2 additions & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ Experience 记录一个场景、一次动作、观察到的结果,以及可复

一个受管的 Skill 包含名称、发现描述、指令、校验项和血缘。评审通过**不等于**安装或执行:必须先显式导出某一个明确的已通过 Revision,Agent 宿主才能发现对应的宿主内副本。

[运行指标](docs/zh/docs/operate/observability.md)提供依赖状态观察、处理进度新鲜度和执行尝试延迟;独立后台部署也可使用受保护的专用指标端点。

## 为什么选 PowerContext?

- **上下文活在对话之外。** Memory、Handoff、Experience、Skill 都是服务端 Artifact,不是某个 Agent 家目录里的文件。从 Codex 换到 Claude Code,或者把工作交给同事,工作本身跟着你走。
Expand Down
16 changes: 11 additions & 5 deletions docs/en/docs/operate/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -315,9 +315,11 @@ family, or disabling built-in background families with `ARTIFACT_PROCESSING_FAMI
before accepting work. Turning off schedules alone is insufficient because explicit requests still start workers.
Custom Source registries remain available to synchronous SDK contexts and API-only composition.

The authenticated `/metrics` endpoint exposes `powercontext_server_artifact_processing_*` observations with only a `family`
label: Worker capacity, ready/retry queues, unacknowledged Scopes, discovery and invocation duration, completions,
The authenticated `/metrics` endpoint exposes `powercontext_server_artifact_processing_*` observations with a bounded `family`
label and, where applicable, `state`, `outcome`, `category`, or `reason`: Worker capacity, ready/retry queues,
unacknowledged Scopes, discovery and invocation duration, completions,
failures, and timeouts. Unacknowledged counts reflect the latest discovery; counters reset with the Supervisor instance.
See [Logs, metrics, and tracing](observability.md) for freshness, state, attempt/acknowledgement, and alert semantics.

The `extraction` object in `GET /v1/capabilities` separates configuration, background execution, and local observations.
Reading this snapshot does not query the database or call a model, and does not produce an overall health verdict.
Expand Down Expand Up @@ -409,9 +411,13 @@ Handoff Report API routes are independently enabled by default. See
[Use Handoff Report](../workflows/use-handoff-report.md) for selection, inspection, and export.

The Artifact Processing Supervisor is enabled by the default `all` role. OceanBase deployments may run `api` and
`background` separately; `powercontext server run --role background` starts no HTTP, MCP, or Dashboard listener, and
multiple background candidates use the database Lease to elect one active Leader. SQLite and embedded seekdb support
only the single-process `all` role. Automatic Topic Memory waves remain disabled until a positive interval is set;
`background` separately. When metrics are enabled, `powercontext server run --role background` exposes `/metrics` and
public `/health/live` using `POWERCONTEXT_SERVER_HTTP_HOST` and `POWERCONTEXT_SERVER_METRICS_BACKGROUND_PORT`
(default `8001`); it does not serve business APIs, MCP, Dashboard, OpenAPI, or `/health/ready`.
`/metrics` uses the same authentication and `server.observe` authorization as the API host.
Use distinct ports for API and background processes on the same host. `POWERCONTEXT_SERVER_METRICS_ENABLED=false`
opens no background listener. Multiple background candidates use the database Lease to elect one active Leader.
SQLite and embedded seekdb support only the single-process `all` role. Automatic Topic Memory waves remain disabled until a positive interval is set;
explicit flush work remains recoverable regardless of that interval. Topic workers need file-backed SQLite: configuring
a generation model with an in-memory SQLite database is rejected before processing is advertised. Use a persistent
`POWERCONTEXT_SERVER_DATABASE_URL`, such as `sqlite+aiosqlite:////srv/powercontext/runtime.db`.
Expand Down
Loading
Loading