Metadata-Version: 2.4
Name: agos-property
Version: 0.1.0
Summary: A deterministic kernel for bounded Property graphs and attributed evidence
Author: I am Agos, Inc.
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/iamagos/agos-property
Project-URL: Repository, https://github.com/iamagos/agos-property
Project-URL: Issues, https://github.com/iamagos/agos-property/issues
Keywords: evidence,property,provenance
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Dynamic: license-file

# agos-property

A small, deterministic kernel for compiling already-authorized Property
observations into bounded graphs and attributed evidence. It performs no I/O
and grants no authority.

```text
Host acquisition -> finite authorized observations -> compile -> Graph -> evidence
```

The package owns three things:

| Module | Meaning |
| --- | --- |
| `graph` | Immutable nodes, observations, statements, bounds, and canonical identities. |
| `compile` | Deterministic assembly of one exact finite observation set. |
| `evidence` | Agreements, conflicts, missing paths, and exact source attribution. |

Authorization, acquisition, credentials, storage, jurisdiction adapters,
database schemas, product workflows, and effects belong to the integrating
application.

## Install

Until the first package release, install from the public repository:

```bash
git clone https://github.com/iamagos/agos-property.git
python -m pip install ./agos-property
```

## Use

Applications normalize source-specific records into immutable
`CommittedObservation` values, authorize and bound the finite input set, then
call the pure compiler:

```python
from agos_property.compile import GraphSpec, compile_graph

graph = compile_graph(spec, observations, compiler)
```

The caller supplies `compiler`, a pure function from the canonical observation
tuple and explicit `GraphSpec` to `GraphParts`. The kernel validates its closure,
cutoffs, bounds, identities, references, and canonical ordering.

Evidence is another pure projection:

```python
from agos_property.evidence import build_property_evidence

result = build_property_evidence(
    graph,
    subject,
    requested_paths=requested_paths,
)
```

`result` names every fact, source observation, agreement, conflict, and missing
path. Complete positive results retain only observations referenced by their
facts. A missing-path result retains the complete finite Graph observation set
that establishes the negative evidence claim. Rights and visibility remain
provenance; they never grant access.

[`examples/basic.py`](examples/basic.py) is a complete, executable composition:

```bash
python examples/basic.py
```

The complete synthetic contract is executable:

```bash
python vectors/kernel/replay.py vectors/kernel/basic.json
```

## Design

The kernel is a functional core:

```text
explicit values -> pure deterministic transformation -> immutable result
```

It has no Engine, store, provider registry, global clock, ambient policy, or
compatibility facade. Graph and evidence identities cover their complete
canonical semantics. Equivalent finite inputs produce byte-identical results.

## Develop

```bash
uv sync --locked --all-groups
uv run pytest
uv run ruff check .
uv run mypy agos_property
uv build --no-sources
```

Runtime dependencies remain empty.

## Security

See [SECURITY.md](SECURITY.md). Report vulnerabilities privately rather than
opening a public issue.

## License

Copyright 2026 I am Agos, Inc. Licensed under the Apache License, Version 2.0.
