Metadata-Version: 2.4
Name: nsigii-core
Version: 0.1.0
Summary: Core types, base classes, and constants for the NSIGII trilateral framework
Author-email: Nnamdi Michael Okpala <okpalan@protonmail.com>
License: OBINexus Sovereign License 1.0
Project-URL: Homepage, https://github.com/obinexusmk2/nsigii-core
Project-URL: Repository, https://github.com/obinexusmk2/nsigii-core
Project-URL: Issues, https://github.com/obinexusmk2/nsigii-core/issues
Project-URL: OBINexus, https://github.com/obinexusmk2
Keywords: nsigii,obinexus,iot,human-rights,trilateral,polycall
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# nsigii-core

**NSIGII Core** — foundational types, base classes, and constants for the NSIGII trilateral governance framework.

Part of the **OBINexus NSIGII Python SDK Suite** by [Nnamdi Michael Okpala](https://github.com/obinexusmk2).

## Overview

NSIGII (Internal Integrated Governance and Intelligence Infrastructure) is a trilateral IoT governance protocol built on three inviolable pillars:

| Pillar | Principle |
|--------|-----------|
| Never a Toy | AI must never be treated as entertainment without educational purpose |
| Never a Weapon | AI must never be used to cause harm |
| Never a Problem | AI must always ensure σ = (N − R) × K ≤ 0 (no unmet human needs) |

## Core Types

- **`NSIGIIPillar`** — enum: `NEVER_A_TOY`, `NEVER_A_WEAPON`, `NEVER_A_PROBLEM`
- **`TridentChannel`** — enum: `TRANSMITTER` (TX), `RECEIVER` (RX), `VERIFIER` (VFY)
- **`TrilateralState`** — enum: `CONSENSUS`, `DISSENT`, `PENDING`
- **`Intent`** — dataclass: action, pillar, channel, payload
- **`SufferingVector`** — dataclass: N (needs), R (resources), K (amplifier); `sigma = (N − R) × K`

## Trident Topology

```
TX (1×1/3 | 127.0.0.1) → RX (2×2/3 | 127.0.0.2) → VFY (3×3/3 | 127.0.0.3)
```

All three channels must accept an Intent for `CONSENSUS`.

## Installation

```bash
pip install nsigii-core
```

## Quick Start

```python
from nsigii_core.types import Intent, NSIGIIPillar, TridentChannel, SufferingVector

intent = Intent(
    action="sensor.reading",
    pillar=NSIGIIPillar.NEVER_A_PROBLEM,
    channel=TridentChannel.TRANSMITTER,
    payload={"dr": -1.2, "dw": 0.05},
)

sv = SufferingVector(N=5000, R=4800, K=1.2)
print(sv.sigma)        # 240.0
print(sv.is_suffering) # True
```

## Related Packages

`nsigii-trident` · `nsigii-consensus` · `nsigii-dag` · `nsigii-spring` ·
`nsigii-never-toy` · `nsigii-never-weapon` · `nsigii-never-problem` ·
`nsigii-polycall` · `nsigii-iot`

## License

OBINexus Sovereign License 1.0 — © Nnamdi Michael Okpala / OBINexus
