# @stravica-ai/engineering-pa-core

Identity: `@stravica-ai/engineering-pa-core` — the type-agnostic platform spine. PA-type-agnostic engine code that every PA type (engineering, future types) sits on top of.

## Status

**Skeleton — v0.1.0.** Workspace-internal, `"private": true`, not individually published. The single bundled publish is `@stravica-ai/digital-operator-pa`.

Phase 1 Task 4 ports the following from the predecessor `Stravica/dave` `core/` tree:

- `desk` CLI + work-item/project/spawn-log schemas
- Briefing-contract framework + standards docs
- Canonical roles (librarian, tool-developer, system-admin, agent-ops, agentic-workflow-designer)
- Knowledge retrieval + distillation engine
- Scheduler primitives
- Memory-sync mechanism
- Identity framework + agent terminology docs

Some scope boundaries between `core/`, `cli/`, and `workspace/` are still under discussion (e.g. is the secrets CLI under `core/cli/` or top-level `cli/`?). Task 3 (core inventory) produces the per-file allocation map.

## Layout

```
packages/core/
  index.mjs            # placeholder export; populated in Task 4
  package.json         # name, version, scripts (no deps)
  README.md            # this file — the contract
  knowledge/           # methodology-aligned slot for the team-library content
    README.md          # one-pager pointing at the knowledge-system standard
    schema/            # librarian-config — distillation rules, taxonomy, weights
    raw/               # intake — PA-writable observations (per-PA subfolders)
    canonical/         # wiki — librarian-only writes (curated, conflict-annotated)
  test/
    index.test.mjs     # node:test; trivial-but-real coverage
```

## Tests

```bash
pnpm --filter @stravica-ai/engineering-pa-core test
```

## Knowledge subtree

`knowledge/` follows the layer separation from [knowledge-system.md](https://github.com/Stravica/dave/blob/main/operator/knowledge/engineering/standards/knowledge-system.md):

- **`raw/`** — intake. PA-writable subfolders (`raw/{paName}/...`). Append-only.
- **`canonical/`** — wiki. Librarian-only write. Curated, deduplicated, conflict-annotated.
- **`schema/`** — librarian configuration. Distillation rules, taxonomy, retrieval weights, half-lives, importance tiers.

v0.1.0 ships the directory shape only. Phase 3 lands the actual team library and the deployed librarian service.

## Standards

This package follows the [tooling standard](../../CONTRIBUTING.md#standards):

- JS only — `.mjs`, `type: module`.
- Zero runtime npm dependencies.
- `node:test` for tests.
- camelCase JSON.
