sigillin 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sigillin-0.1.0/.github/workflows/ci.yml +48 -0
- sigillin-0.1.0/.gitignore +22 -0
- sigillin-0.1.0/.pre-commit-config.yaml +17 -0
- sigillin-0.1.0/LICENSE +21 -0
- sigillin-0.1.0/PKG-INFO +163 -0
- sigillin-0.1.0/README.md +121 -0
- sigillin-0.1.0/docs/api.md +44 -0
- sigillin-0.1.0/docs/cli.md +50 -0
- sigillin-0.1.0/docs/index.md +36 -0
- sigillin-0.1.0/domains.yaml +41 -0
- sigillin-0.1.0/mkdocs.yml +43 -0
- sigillin-0.1.0/pyproject.toml +80 -0
- sigillin-0.1.0/src/sigillin/__init__.py +6 -0
- sigillin-0.1.0/src/sigillin/cli.py +91 -0
- sigillin-0.1.0/src/sigillin/core.py +129 -0
- sigillin-0.1.0/src/sigillin/entropy_table_bridge.py +50 -0
- sigillin-0.1.0/tests/__init__.py +0 -0
- sigillin-0.1.0/tests/test_cli.py +141 -0
- sigillin-0.1.0/tests/test_core.py +184 -0
- sigillin-0.1.0/uv.lock +1087 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, master]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
name: Test (Python ${{ matrix.python-version }})
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ["3.11", "3.12"]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Install uv
|
|
21
|
+
uses: astral-sh/setup-uv@v5
|
|
22
|
+
with:
|
|
23
|
+
version: "latest"
|
|
24
|
+
|
|
25
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
+
run: uv python install ${{ matrix.python-version }}
|
|
27
|
+
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: uv sync --extra dev
|
|
30
|
+
|
|
31
|
+
- name: Lint (ruff)
|
|
32
|
+
run: uv run ruff check .
|
|
33
|
+
|
|
34
|
+
- name: Format check (ruff)
|
|
35
|
+
run: uv run ruff format --check .
|
|
36
|
+
|
|
37
|
+
- name: Run tests
|
|
38
|
+
run: uv run pytest
|
|
39
|
+
|
|
40
|
+
docs:
|
|
41
|
+
name: Build docs
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
- uses: astral-sh/setup-uv@v5
|
|
46
|
+
- run: uv python install 3.11
|
|
47
|
+
- run: uv sync --extra docs
|
|
48
|
+
- run: uv run mkdocs build --strict
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
+
rev: v0.6.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: ruff
|
|
6
|
+
args: [--fix]
|
|
7
|
+
- id: ruff-format
|
|
8
|
+
|
|
9
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
10
|
+
rev: v4.6.0
|
|
11
|
+
hooks:
|
|
12
|
+
- id: trailing-whitespace
|
|
13
|
+
- id: end-of-file-fixer
|
|
14
|
+
- id: check-yaml
|
|
15
|
+
- id: check-toml
|
|
16
|
+
- id: check-merge-conflict
|
|
17
|
+
- id: debug-statements
|
sigillin-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 JohannRömer
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
sigillin-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sigillin
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The poetic-symbolic interface layer of the GenesisAeon stack – self-referential sigil parser, trilayer validation (YAML/JSON/Markdown) and MandalaMap resonance.
|
|
5
|
+
Project-URL: Repository, https://github.com/GenesisAeon/sigillin
|
|
6
|
+
Project-URL: Issues, https://github.com/GenesisAeon/sigillin/issues
|
|
7
|
+
Author-email: GenesisAeon Team <team@genesisaeon.org>
|
|
8
|
+
License: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: crep,genesisaeon,mandala,poetry,sigil,symbolic,trilayer
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Artistic Software
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Requires-Dist: numpy>=1.26
|
|
22
|
+
Requires-Dist: pyyaml>=6.0
|
|
23
|
+
Requires-Dist: rich>=13.0
|
|
24
|
+
Requires-Dist: typer>=0.15.0
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
|
|
27
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: ruff>=0.9; extra == 'dev'
|
|
30
|
+
Provides-Extra: docs
|
|
31
|
+
Requires-Dist: mkdocs-material>=9.6; extra == 'docs'
|
|
32
|
+
Requires-Dist: mkdocs>=1.6; extra == 'docs'
|
|
33
|
+
Requires-Dist: mkdocstrings[python]>=0.27; extra == 'docs'
|
|
34
|
+
Provides-Extra: stack
|
|
35
|
+
Requires-Dist: cosmic-moment>=0.1.0; extra == 'stack'
|
|
36
|
+
Requires-Dist: entropy-governance>=0.1.0; extra == 'stack'
|
|
37
|
+
Requires-Dist: entropy-table>=1.0.1; extra == 'stack'
|
|
38
|
+
Requires-Dist: fieldtheory>=0.1.0; extra == 'stack'
|
|
39
|
+
Requires-Dist: implosive-genesis>=0.4.0; extra == 'stack'
|
|
40
|
+
Requires-Dist: medium-modulation>=0.1.0; extra == 'stack'
|
|
41
|
+
Description-Content-Type: text/markdown
|
|
42
|
+
|
|
43
|
+
# sigillin
|
|
44
|
+
|
|
45
|
+
**The poetic-symbolic interface layer** – self-referential sigils that bind fieldtheory,
|
|
46
|
+
cosmic moments and entropy governance into living resonance.
|
|
47
|
+
|
|
48
|
+
[](https://github.com/GenesisAeon/sigillin/actions/workflows/ci.yml)
|
|
49
|
+
[](https://www.python.org)
|
|
50
|
+
[](LICENSE)
|
|
51
|
+
[](https://pypi.org/project/sigillin/)
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Install
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pip install sigillin
|
|
59
|
+
# or
|
|
60
|
+
uv add sigillin
|
|
61
|
+
|
|
62
|
+
# Full GenesisAeon stack integration
|
|
63
|
+
pip install sigillin[stack]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Usage
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Validate a sigil against the CREP schema
|
|
70
|
+
sig validate codex-sigil.yaml
|
|
71
|
+
|
|
72
|
+
# Render MandalaMap resonance spectrum
|
|
73
|
+
sig render cosmic-web.yaml
|
|
74
|
+
|
|
75
|
+
# Inspect sigil fields
|
|
76
|
+
sig inspect codex-sigil.yaml
|
|
77
|
+
|
|
78
|
+
# Create a self-referential provider bridge
|
|
79
|
+
sig bridge openai
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Sigil format (trilayer: YAML / JSON / Markdown)
|
|
83
|
+
|
|
84
|
+
Sigillin accepts three source formats:
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
# codex-sigil.yaml
|
|
88
|
+
coherence: 0.97
|
|
89
|
+
resonance: 0.88
|
|
90
|
+
emergence: 0.92
|
|
91
|
+
poetics: "The first sigil – carrier of the primal pattern."
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{ "coherence": 0.97, "resonance": 0.88, "emergence": 0.92, "poetics": "..." }
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
---
|
|
100
|
+
coherence: 0.97
|
|
101
|
+
resonance: 0.88
|
|
102
|
+
emergence: 0.92
|
|
103
|
+
poetics: "The first sigil – carrier of the primal pattern."
|
|
104
|
+
---
|
|
105
|
+
# Codex Prime
|
|
106
|
+
|
|
107
|
+
Full narrative description here.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## CREP validation
|
|
111
|
+
|
|
112
|
+
Every sigil is validated against four pillars:
|
|
113
|
+
|
|
114
|
+
| Key | Meaning |
|
|
115
|
+
|---|---|
|
|
116
|
+
| `coherence` | Internal self-consistency |
|
|
117
|
+
| `resonance` | Harmonic alignment with the field |
|
|
118
|
+
| `emergence` | Capacity for novel pattern generation |
|
|
119
|
+
| `poetics` | Narrative / symbolic intent |
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
from sigillin import Sigil
|
|
123
|
+
|
|
124
|
+
sigil = Sigil("codex-sigil.yaml")
|
|
125
|
+
sigil.validate_crep() # True / False
|
|
126
|
+
sigil.assert_crep() # raises SigilValidationError if invalid
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## MandalaMap resonance
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
spectrum = sigil.render_mandala(depth=0.618) # φ-scaled resonance array
|
|
133
|
+
print(f"Peak: {spectrum.max():.4f}")
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Stack integration
|
|
137
|
+
|
|
138
|
+
With `pip install sigillin[stack]`, sigillin binds directly to the full GenesisAeon stack:
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
sigil.bind_to_field() # returns Lagrangian string from fieldtheory
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
from sigillin.entropy_table_bridge import export_to_entropy_table
|
|
146
|
+
export_to_entropy_table("codex-sigil.yaml")
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Python API
|
|
150
|
+
|
|
151
|
+
```python
|
|
152
|
+
from sigillin import Sigil
|
|
153
|
+
|
|
154
|
+
sigil = Sigil("codex-sigil.yaml")
|
|
155
|
+
print(sigil["coherence"]) # 0.97
|
|
156
|
+
print(sigil.get("tags", [])) # []
|
|
157
|
+
print(repr(sigil)) # Sigil(path=..., crep_valid=True)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
Built with [uv](https://docs.astral.sh/uv/) · [Typer](https://typer.tiangolo.com/) ·
|
|
163
|
+
[Rich](https://rich.readthedocs.io/) · [NumPy](https://numpy.org/)
|
sigillin-0.1.0/README.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# sigillin
|
|
2
|
+
|
|
3
|
+
**The poetic-symbolic interface layer** – self-referential sigils that bind fieldtheory,
|
|
4
|
+
cosmic moments and entropy governance into living resonance.
|
|
5
|
+
|
|
6
|
+
[](https://github.com/GenesisAeon/sigillin/actions/workflows/ci.yml)
|
|
7
|
+
[](https://www.python.org)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
[](https://pypi.org/project/sigillin/)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install sigillin
|
|
17
|
+
# or
|
|
18
|
+
uv add sigillin
|
|
19
|
+
|
|
20
|
+
# Full GenesisAeon stack integration
|
|
21
|
+
pip install sigillin[stack]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Validate a sigil against the CREP schema
|
|
28
|
+
sig validate codex-sigil.yaml
|
|
29
|
+
|
|
30
|
+
# Render MandalaMap resonance spectrum
|
|
31
|
+
sig render cosmic-web.yaml
|
|
32
|
+
|
|
33
|
+
# Inspect sigil fields
|
|
34
|
+
sig inspect codex-sigil.yaml
|
|
35
|
+
|
|
36
|
+
# Create a self-referential provider bridge
|
|
37
|
+
sig bridge openai
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Sigil format (trilayer: YAML / JSON / Markdown)
|
|
41
|
+
|
|
42
|
+
Sigillin accepts three source formats:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
# codex-sigil.yaml
|
|
46
|
+
coherence: 0.97
|
|
47
|
+
resonance: 0.88
|
|
48
|
+
emergence: 0.92
|
|
49
|
+
poetics: "The first sigil – carrier of the primal pattern."
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{ "coherence": 0.97, "resonance": 0.88, "emergence": 0.92, "poetics": "..." }
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
---
|
|
58
|
+
coherence: 0.97
|
|
59
|
+
resonance: 0.88
|
|
60
|
+
emergence: 0.92
|
|
61
|
+
poetics: "The first sigil – carrier of the primal pattern."
|
|
62
|
+
---
|
|
63
|
+
# Codex Prime
|
|
64
|
+
|
|
65
|
+
Full narrative description here.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## CREP validation
|
|
69
|
+
|
|
70
|
+
Every sigil is validated against four pillars:
|
|
71
|
+
|
|
72
|
+
| Key | Meaning |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `coherence` | Internal self-consistency |
|
|
75
|
+
| `resonance` | Harmonic alignment with the field |
|
|
76
|
+
| `emergence` | Capacity for novel pattern generation |
|
|
77
|
+
| `poetics` | Narrative / symbolic intent |
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
from sigillin import Sigil
|
|
81
|
+
|
|
82
|
+
sigil = Sigil("codex-sigil.yaml")
|
|
83
|
+
sigil.validate_crep() # True / False
|
|
84
|
+
sigil.assert_crep() # raises SigilValidationError if invalid
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## MandalaMap resonance
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
spectrum = sigil.render_mandala(depth=0.618) # φ-scaled resonance array
|
|
91
|
+
print(f"Peak: {spectrum.max():.4f}")
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Stack integration
|
|
95
|
+
|
|
96
|
+
With `pip install sigillin[stack]`, sigillin binds directly to the full GenesisAeon stack:
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
sigil.bind_to_field() # returns Lagrangian string from fieldtheory
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
from sigillin.entropy_table_bridge import export_to_entropy_table
|
|
104
|
+
export_to_entropy_table("codex-sigil.yaml")
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Python API
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
from sigillin import Sigil
|
|
111
|
+
|
|
112
|
+
sigil = Sigil("codex-sigil.yaml")
|
|
113
|
+
print(sigil["coherence"]) # 0.97
|
|
114
|
+
print(sigil.get("tags", [])) # []
|
|
115
|
+
print(repr(sigil)) # Sigil(path=..., crep_valid=True)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
Built with [uv](https://docs.astral.sh/uv/) · [Typer](https://typer.tiangolo.com/) ·
|
|
121
|
+
[Rich](https://rich.readthedocs.io/) · [NumPy](https://numpy.org/)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# API Reference
|
|
2
|
+
|
|
3
|
+
## sigillin.core.Sigil
|
|
4
|
+
|
|
5
|
+
```python
|
|
6
|
+
class Sigil(filepath: Path | str)
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Self-referential poetic-symbolic attractor. Loads a sigil from YAML, JSON, or
|
|
10
|
+
Markdown front-matter (trilayer).
|
|
11
|
+
|
|
12
|
+
### Methods
|
|
13
|
+
|
|
14
|
+
| Method | Description |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `validate_crep() -> bool` | Returns `True` if all four CREP keys are present |
|
|
17
|
+
| `assert_crep() -> None` | Raises `SigilValidationError` if CREP keys are missing |
|
|
18
|
+
| `render_mandala(depth=0.618) -> np.ndarray` | Returns φ-scaled resonance spectrum (shape: 100) |
|
|
19
|
+
| `bind_to_field() -> str` | Binds to fieldtheory Lagrangian (requires `[stack]`) |
|
|
20
|
+
| `get(key, default=None)` | Dict-style attribute access with default |
|
|
21
|
+
|
|
22
|
+
### Attributes
|
|
23
|
+
|
|
24
|
+
| Attribute | Type | Description |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `path` | `Path` | Source file path |
|
|
27
|
+
| `data` | `dict[str, Any]` | Parsed sigil data |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## sigillin.core.SigilValidationError
|
|
32
|
+
|
|
33
|
+
Raised by `assert_crep()` when required CREP keys are missing.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## sigillin.entropy_table_bridge
|
|
38
|
+
|
|
39
|
+
```python
|
|
40
|
+
sigil_to_entropy_record(sigil: Sigil) -> dict[str, Any]
|
|
41
|
+
export_to_entropy_table(path: Path | str) -> None
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Exports sigil data to entropy-table format. Requires `sigillin[stack]`.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# CLI Reference
|
|
2
|
+
|
|
3
|
+
## sig validate
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
sig validate PATH
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Validate a sigil file against the CREP schema.
|
|
10
|
+
|
|
11
|
+
**Arguments:**
|
|
12
|
+
- `PATH` – path to sigil file (YAML, JSON, or Markdown with front-matter)
|
|
13
|
+
|
|
14
|
+
**Exit codes:** `0` = valid, `1` = invalid or file not found
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## sig render
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
sig render PATH [--depth FLOAT]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Render the MandalaMap resonance spectrum for a sigil.
|
|
25
|
+
|
|
26
|
+
**Arguments:**
|
|
27
|
+
- `PATH` – path to sigil file
|
|
28
|
+
|
|
29
|
+
**Options:**
|
|
30
|
+
- `--depth` – fractal resonance depth (default: `0.618`, the golden ratio φ)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## sig inspect
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
sig inspect PATH
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Inspect all fields of a sigil in a rich table, with CREP status.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## sig bridge
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
sig bridge [PROVIDER]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Create a self-referential provider bridge (default: `openai`).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# sigillin
|
|
2
|
+
|
|
3
|
+
**The poetic-symbolic interface layer** of the GenesisAeon stack –
|
|
4
|
+
self-referential sigil parser, trilayer validation (YAML/JSON/Markdown)
|
|
5
|
+
and MandalaMap resonance.
|
|
6
|
+
|
|
7
|
+
## Quickstart
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install sigillin
|
|
11
|
+
# or
|
|
12
|
+
uv add sigillin
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
sig validate codex-sigil.yaml
|
|
17
|
+
sig render cosmic-web.yaml
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Commands
|
|
21
|
+
|
|
22
|
+
| Command | Description |
|
|
23
|
+
|---------|-------------|
|
|
24
|
+
| `sig validate <path>` | Validate a sigil against CREP schema |
|
|
25
|
+
| `sig render <path>` | Render MandalaMap resonance spectrum |
|
|
26
|
+
| `sig inspect <path>` | Inspect all sigil fields |
|
|
27
|
+
| `sig bridge [provider]` | Create self-referential provider bridge |
|
|
28
|
+
|
|
29
|
+
## CREP Keys
|
|
30
|
+
|
|
31
|
+
| Key | Meaning |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `coherence` | Internal self-consistency |
|
|
34
|
+
| `resonance` | Harmonic alignment with the field |
|
|
35
|
+
| `emergence` | Capacity for novel pattern generation |
|
|
36
|
+
| `poetics` | Narrative / symbolic intent |
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# sigillin – domain manifest
|
|
2
|
+
# Trilayer CREP-aligned sigil definitions for MandalaMap integration.
|
|
3
|
+
|
|
4
|
+
sigils:
|
|
5
|
+
- name: codex-prime
|
|
6
|
+
coherence: 0.97
|
|
7
|
+
resonance: 0.88
|
|
8
|
+
emergence: 0.92
|
|
9
|
+
poetics: "The first sigil – carrier of the primal pattern."
|
|
10
|
+
tags: [genesis, prime, anchor]
|
|
11
|
+
|
|
12
|
+
- name: cosmic-web
|
|
13
|
+
coherence: 0.91
|
|
14
|
+
resonance: 0.95
|
|
15
|
+
emergence: 0.87
|
|
16
|
+
poetics: "Threads of resonance binding all fields into one living topology."
|
|
17
|
+
tags: [cosmic, web, topology]
|
|
18
|
+
|
|
19
|
+
- name: entropy-gate
|
|
20
|
+
coherence: 0.85
|
|
21
|
+
resonance: 0.79
|
|
22
|
+
emergence: 0.94
|
|
23
|
+
poetics: "The threshold between order and creative dissolution."
|
|
24
|
+
tags: [entropy, gate, transition]
|
|
25
|
+
|
|
26
|
+
- name: mandala-core
|
|
27
|
+
coherence: 0.99
|
|
28
|
+
resonance: 0.99
|
|
29
|
+
emergence: 0.99
|
|
30
|
+
poetics: "The self-referential centre – sigil that contains all other sigils."
|
|
31
|
+
tags: [mandala, core, selfref]
|
|
32
|
+
|
|
33
|
+
stack:
|
|
34
|
+
fieldtheory: ">=0.1.0"
|
|
35
|
+
cosmic-moment: ">=0.1.0"
|
|
36
|
+
entropy-table: ">=1.0.1"
|
|
37
|
+
|
|
38
|
+
meta:
|
|
39
|
+
crep_version: "1.0"
|
|
40
|
+
mandala_depth_default: 0.618
|
|
41
|
+
phi: 1.618033988749895
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
site_name: sigillin
|
|
2
|
+
site_description: The poetic-symbolic interface layer of the GenesisAeon stack
|
|
3
|
+
site_author: GenesisAeon Team
|
|
4
|
+
repo_url: https://github.com/GenesisAeon/sigillin
|
|
5
|
+
repo_name: GenesisAeon/sigillin
|
|
6
|
+
|
|
7
|
+
theme:
|
|
8
|
+
name: material
|
|
9
|
+
palette:
|
|
10
|
+
- media: "(prefers-color-scheme: light)"
|
|
11
|
+
scheme: default
|
|
12
|
+
primary: deep purple
|
|
13
|
+
accent: purple
|
|
14
|
+
toggle:
|
|
15
|
+
icon: material/brightness-7
|
|
16
|
+
name: Switch to dark mode
|
|
17
|
+
- media: "(prefers-color-scheme: dark)"
|
|
18
|
+
scheme: slate
|
|
19
|
+
primary: deep purple
|
|
20
|
+
accent: purple
|
|
21
|
+
toggle:
|
|
22
|
+
icon: material/brightness-4
|
|
23
|
+
name: Switch to light mode
|
|
24
|
+
features:
|
|
25
|
+
- navigation.tabs
|
|
26
|
+
- navigation.sections
|
|
27
|
+
- navigation.top
|
|
28
|
+
- content.code.annotate
|
|
29
|
+
- content.code.copy
|
|
30
|
+
- search.highlight
|
|
31
|
+
|
|
32
|
+
markdown_extensions:
|
|
33
|
+
- admonition
|
|
34
|
+
- pymdownx.highlight:
|
|
35
|
+
anchor_linenums: true
|
|
36
|
+
- pymdownx.superfences
|
|
37
|
+
- pymdownx.tabbed:
|
|
38
|
+
alternate_style: true
|
|
39
|
+
|
|
40
|
+
nav:
|
|
41
|
+
- Home: index.md
|
|
42
|
+
- CLI Reference: cli.md
|
|
43
|
+
- API: api.md
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sigillin"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "The poetic-symbolic interface layer of the GenesisAeon stack – self-referential sigil parser, trilayer validation (YAML/JSON/Markdown) and MandalaMap resonance."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = { text = "MIT" }
|
|
7
|
+
authors = [{ name = "GenesisAeon Team", email = "team@genesisaeon.org" }]
|
|
8
|
+
requires-python = ">=3.11"
|
|
9
|
+
keywords = ["sigil", "mandala", "symbolic", "poetry", "crep", "genesisaeon", "trilayer"]
|
|
10
|
+
classifiers = [
|
|
11
|
+
"Development Status :: 3 - Alpha",
|
|
12
|
+
"Environment :: Console",
|
|
13
|
+
"Intended Audience :: Developers",
|
|
14
|
+
"License :: OSI Approved :: MIT License",
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Programming Language :: Python :: 3.11",
|
|
17
|
+
"Programming Language :: Python :: 3.12",
|
|
18
|
+
"Topic :: Scientific/Engineering",
|
|
19
|
+
"Topic :: Artistic Software",
|
|
20
|
+
]
|
|
21
|
+
dependencies = [
|
|
22
|
+
"pyyaml>=6.0",
|
|
23
|
+
"rich>=13.0",
|
|
24
|
+
"typer>=0.15.0",
|
|
25
|
+
"numpy>=1.26",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
[project.optional-dependencies]
|
|
29
|
+
stack = [
|
|
30
|
+
"fieldtheory>=0.1.0",
|
|
31
|
+
"cosmic-moment>=0.1.0",
|
|
32
|
+
"medium-modulation>=0.1.0",
|
|
33
|
+
"entropy-governance>=0.1.0",
|
|
34
|
+
"entropy-table>=1.0.1",
|
|
35
|
+
"implosive-genesis>=0.4.0",
|
|
36
|
+
]
|
|
37
|
+
dev = [
|
|
38
|
+
"pytest>=8.0",
|
|
39
|
+
"pytest-cov>=5.0",
|
|
40
|
+
"ruff>=0.9",
|
|
41
|
+
"pre-commit>=3.7.0",
|
|
42
|
+
]
|
|
43
|
+
docs = [
|
|
44
|
+
"mkdocs>=1.6",
|
|
45
|
+
"mkdocstrings[python]>=0.27",
|
|
46
|
+
"mkdocs-material>=9.6",
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
[project.scripts]
|
|
50
|
+
sig = "sigillin.cli:app"
|
|
51
|
+
|
|
52
|
+
[project.urls]
|
|
53
|
+
Repository = "https://github.com/GenesisAeon/sigillin"
|
|
54
|
+
Issues = "https://github.com/GenesisAeon/sigillin/issues"
|
|
55
|
+
|
|
56
|
+
[build-system]
|
|
57
|
+
requires = ["hatchling"]
|
|
58
|
+
build-backend = "hatchling.build"
|
|
59
|
+
|
|
60
|
+
[tool.hatch.build.targets.wheel]
|
|
61
|
+
packages = ["src/sigillin"]
|
|
62
|
+
|
|
63
|
+
[tool.ruff]
|
|
64
|
+
line-length = 88
|
|
65
|
+
target-version = "py311"
|
|
66
|
+
|
|
67
|
+
[tool.ruff.lint]
|
|
68
|
+
select = ["E", "F", "B", "I", "W", "UP", "C4", "SIM"]
|
|
69
|
+
ignore = ["B008"] # typer uses function calls in defaults
|
|
70
|
+
|
|
71
|
+
[tool.ruff.lint.per-file-ignores]
|
|
72
|
+
"tests/**" = ["S101"] # allow assert in tests
|
|
73
|
+
|
|
74
|
+
[tool.pytest.ini_options]
|
|
75
|
+
testpaths = ["tests"]
|
|
76
|
+
addopts = "--cov=sigillin --cov-report=term-missing -v"
|
|
77
|
+
|
|
78
|
+
[tool.coverage.run]
|
|
79
|
+
source = ["src"]
|
|
80
|
+
omit = ["tests/*"]
|