"""Capital-cost ledger: tying arborist ops to the 8 forms of capital.

Implements ticket #000020. Sibling table to ``audit_events`` —
``capital_ledger`` rows do NOT enter ``audit_events.event_hash``
preimage, so retroactive cost re-estimation cannot break the audit
chain.

The 8 forms (Roland & Landua via unturf.com/eight-forms-of-capital):

1. **Living** — soil, water, human health, ecosystems
2. **Material** — servers, tools, infrastructure
3. **Financial** — money, currencies, securities
4. **Intellectual** — ideas, knowledge, open source
5. **Experiential** — embodied skill, mastery, know-how
6. **Social** — trust, relationships, community networks
7. **Cultural** — story, art, ceremony, shared ethics
8. **Spiritual** — presence, connection to a greater whole

Each :class:`CapitalProfile` records contributions / debits across all
8 forms in their native units (no conversion). Profiles are advisory
by default — passing ``capital_profile=None`` to ``record`` emits no
ledger row, fully backward-compatible.

Public surface:

- :class:`CapitalProfile` — frozen dataclass; one float per form.
- :func:`record` — write a ledger row tied to an audit_event_hash.
- :func:`summary` / :func:`top_by_form` / :func:`op_cost` — read APIs.
"""

from __future__ import annotations

from arborist.capital.profile import (
    ESTIMATOR_VERSION,
    CapitalProfile,
    profile_for_op,
)
from arborist.capital.store import (
    op_cost,
    record,
    summary,
    top_by_form,
)

__all__ = [
    "ESTIMATOR_VERSION",
    "CapitalProfile",
    "profile_for_op",
    "record",
    "summary",
    "top_by_form",
    "op_cost",
]
