Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
640972d
docs: make bounded first run executable (#239)
stone16 Aug 12, 2026
e24c24c
test: add Python-only unit lane (#243)
stone16 Aug 12, 2026
cf186f8
feat: add fail-closed local preflight (#240)
stone16 Aug 12, 2026
a4adfdc
feat: register active carrier authority (#244)
stone16 Aug 12, 2026
1ed27ed
fix: bind daily-driver launch to schema head (#242)
stone16 Aug 12, 2026
74a9a58
docs: reserve ADR 0107 for schema guard (#242)
stone16 Aug 12, 2026
3d8cc8f
ops: safely materialize registered local model
stone16 Aug 12, 2026
4be5d62
test: exercise materializer staging swap
stone16 Aug 12, 2026
8a4c153
fix: complete bounded preflight observations (#240)
stone16 Aug 12, 2026
8617aad
fix: preserve database role exports
stone16 Aug 12, 2026
f0aae66
no-mistakes(document): sync AGENTS.md test-lane commands; ruff and my…
stone16 Aug 12, 2026
4e645b3
no-mistakes(document): rescope SKILL.md MCP boundary to consumer; cit…
stone16 Aug 12, 2026
3d18879
no-mistakes: apply CI fixes
stone16 Aug 12, 2026
681202a
fix: close bounded daily-driver readiness gaps
stone16 Aug 13, 2026
8611a9f
no-mistakes(review): anchor preflight integration test paths to repos…
stone16 Aug 13, 2026
20c3fae
no-mistakes(document): sync make catalog description with active-carr…
stone16 Aug 13, 2026
de98be1
fix: preserve closed readiness diagnostics
stone16 Aug 13, 2026
1d5c9bb
no-mistakes(review): make test-python Python-only; add closed-diagnos…
stone16 Aug 13, 2026
15aa61e
no-mistakes(review): mark live SDK node test; widen Python-only lane …
stone16 Aug 13, 2026
8f2b379
no-mistakes(review): verify backup binding; fail-closed render, manif…
stone16 Aug 13, 2026
0eac1a2
no-mistakes(document): sync make check coverage with catalog registry…
stone16 Aug 13, 2026
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
2 changes: 1 addition & 1 deletion .claude/skills/context-engine/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ Treat [ADR-0088](../../../docs/decisions/0088-bind-local-consumers-to-fresh-evid

4. On output beginning `Authorized context is unavailable for this question.`, preserve the exact `refusal:` code in the answer and state only that authorized context is unavailable for this question. Do not retry, silently refresh, search for Package state, inspect environment variables, or describe the refusal as “the corpus has nothing.”

The consumer creates one fresh Acquire request, honors `expiresAt`, rejects malformed Block/Evidence closure, excludes the environment-held bearer from all consumer-visible surfaces, and records a question-only golden-set candidate under the configured durable private root. It records no corpus path, Package content, bearer, or command argument. MCP, pi, `Continue`, and `OpenCitation` remain `NOT_ACTIVE`.
The consumer creates one fresh Acquire request, honors `expiresAt`, rejects malformed Block/Evidence closure, excludes the environment-held bearer from all consumer-visible surfaces, and records a question-only golden-set candidate under the configured durable private root. It records no corpus path, Package content, bearer, or command argument. This consumer does not use MCP, and pi, `Continue`, and `OpenCitation` remain `NOT_ACTIVE` for it; the separate bounded local MCP Acquire carrier remains `ACTIVE_BOUNDED` under [ADR-0103](../../../docs/decisions/0103-activate-one-local-mcp-acquire-translation.md).
5 changes: 3 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,9 @@ make install # sync the locked Python 3.13 environment
make build # build wheel and source distribution
make lint # Ruff
make typecheck # strict mypy
make test # unit test suite
make catalog # static security catalog tests and validation
make test-python # fast Python-only unit lane; not Definition-of-Done evidence
make test # full unit contract, including required TS builds
make catalog # static security catalog and active-carrier registry validation
make security-gate # executable M0 security veto; requires make db-up first
make smoke # API and worker process smoke suite
make db-up # start the real PostgreSQL 17 + pgvector harness
Expand Down
16 changes: 13 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,19 +72,29 @@ make check
`make check` requires `make db-up` first, and covers: build, Ruff, strict mypy,
TypeScript typecheck, OpenAPI freeze check, SDK generate/build/test/pack,
ActionPlane and BotDelivery build and tests, Python unit tests, the security
catalog, the process smoke suite, the real-PostgreSQL integration harness, and
the M0 security gate.
catalog and active-carrier registry validation, the process smoke suite, the
real-PostgreSQL integration harness, and the M0 security gate.

For faster inner loops:

```bash
make lint # Ruff
make typecheck # strict mypy + TS
make test # Python unit tests
make test-python # fast Python unit-suite lane; not merge evidence
make test # full unit contract, including required TS builds
make integration # real-PostgreSQL integration/security harness
make security-gate # M0 security veto gate
```

After the Python dependencies are present, `make test-python` runs exactly
`uv run pytest -q tests/unit -m "not node_toolchain"`, deselecting the
`node_toolchain`-marked tests that execute the installed Node/npm workspaces,
so the lane needs no Node, npm workspace state, or SDK, ActionPlane, or
BotDelivery builds. The deselected Node-executing portion still runs in full
under `make test` and `make check`. It is a convenience for the local edit
loop, not Definition-of-Done, CI, or merge evidence; finish with the full
`make check` contract above.

Run `make typecheck` and `make test` sequentially, never concurrently.
`make test` depends on `bot-build`, and
`tests/unit/test_bot_delivery_model_egress_contract.py` also invokes
Expand Down
11 changes: 10 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: install install-runtime build lint typecheck test catalog third-party-check third-party-artifacts security-gate smoke db-up db-down db-reset integration dogfood-eval eval-v1 eval-v1-execute openapi-generate openapi-check openapi-breaking-check sdk-generate sdk-check sdk-build sdk-test sdk-pack action-typecheck action-build action-test bot-typecheck bot-build bot-test ui-build ui-test check
.PHONY: install install-runtime build lint typecheck test-python test catalog third-party-check third-party-artifacts security-gate smoke db-up db-down db-reset integration dogfood-eval eval-v1 eval-v1-execute model-materialize-acceptance openapi-generate openapi-check openapi-breaking-check sdk-generate sdk-check sdk-build sdk-test sdk-pack action-typecheck action-build action-test bot-typecheck bot-build bot-test ui-build ui-test check

install:
uv sync --frozen --extra mcp
Expand All @@ -25,11 +25,15 @@ typecheck: sdk-build action-build
npm --prefix action_plane/typescript run typecheck
npm --prefix bot_delivery/typescript run typecheck

test-python:
uv run pytest -q tests/unit -m "not node_toolchain"

test: bot-build
uv run pytest -q tests/unit

catalog:
uv run pytest -q tests/catalog
uv run python scripts/validate_active_carriers.py
uv run python scripts/validate_security_catalog.py
$(MAKE) third-party-check

Expand Down Expand Up @@ -80,6 +84,11 @@ eval-v1-execute:
--output .context-engine/eval/golden-v1-report.json \
--generated-at "$(GENERATED_AT)"

model-materialize-acceptance:
uv run context-engine-model-materializer \
--role primary \
--destination "$(MODEL_DESTINATION)"

openapi-generate:
uv run python scripts/freeze_openapi.py generate

Expand Down
10 changes: 9 additions & 1 deletion PLAN.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# ContextEngine — 整体计划

> **Status**: D0 design closure (pre-M0) · **Updated**: 2026-07-18
> **Status**: generation-3 dogfood roadmap; current executable boundaries are
> indexed in [`STATUS.md`](STATUS.md) · **Updated**: 2026-08-13
>
> **2026-07-26 航向修正**:定位固定为"完整 context 层"两内容族
> ([ADR-0061](docs/decisions/0061-commit-to-the-complete-context-layer-thesis.md)),
Expand All @@ -14,6 +15,13 @@

新贡献者应先阅读 [Domain glossary](CONTEXT.md),其中规范了本文所有身份、安全、内容与生命周期术语。

The `D0`/`M0`–`M7` labels below are the product-plan generation. GitHub issue
#2 records two older decomposition generations that reused `M0`–`M3`; those
historical names describe completed issue waves, not the current milestone
exit state. The 2026-07-28 dogfood walkthrough and constitution established
generation 3. Use `STATUS.md` plus the active-carrier registry for executable
current state, and qualify tracker references as generation 1, 2, or 3.

---

## 1. 愿景与定位
Expand Down
Loading
Loading