No project description provided
Project description
se-admin
Structural Explainability Admin: administration of the SE ecosystem.
SE Admin is a data-driven system that applies composable operations over repository surfaces with declarative targets and selectable scope to move repos between states.
Owns
- enforcement of constitution (automation)
- repository lifecycle operations
- cross-repository consistency
Includes
scaffolding
- repository templates
synchronization
- configuration propagation
validation orchestration
- multi-repo validation execution
workflow reuse
- shared GitHub Actions
bulk operations
- dependency upgrades
- structural updates
Overview
data/ = declared desired state, no logic, only declarations
observe/ = actual repo state, no decisions, only facts
checks/ = pure comparison, no side effects
actions/ = primitive mutations
migrations/ = composed actions
reports/ = human/machine output projections only
domain/
repo - repository
profile = named bundle of expectations (paths, workflows, checks)
selector = how you choose repos (set, name, pattern)
finding = result of a check
repos.toml = instances: which repos exist, repo sets, assigned profiles
profiles.toml = reusable traits: profile definitions
checks.toml = constraints: check definitions and canonical comparisons
migrations.toml = transformations: named migration recipes
data (declared) -> observe (actual) -> checks (compare) -> actions/migrations -> reports
Operation Requirements
Data describes operations and a small interpreter executing them
All operations must be:
- deterministic
- idempotent
- side-effect scoped
Examples:
- delete_file is OK if missing
- add_dependency is OK if already present
- replace_text is no-op if not found
Operation Taxonomy
Detection (no side effects)
- path_exists
- path_missing
- toml_key_exists
- toml_value_equals
- dependency_present
- workflow_present
Mutation (single responsibility)
Filesystem
- create_file
- delete_file
- copy_file
- ensure_directory
- rename_path TOML
- toml_set_key
- toml_remove_key
- toml_add_dependency
- toml_remove_dependency
- toml_ensure_table Workflows (still files, but special intent)
- ensure_workflow
- remove_workflow
- replace_workflow Text
- replace_block
- insert_block
- remove_block Process
- run_command
Composition
Operation =
AtomicOperation
| Sequence[Operation]
| Conditional(condition, Operation)
Example
A tool transition is a declarative description of how to remove one capability and establish another across all affected surfaces.
Sequence(
Conditional(detect_mkdocs, Sequence(
delete_file("mkdocs.yml"),
toml_remove_dependency("mkdocs"),
remove_workflow("deploy-mkdocs.yml")
)),
Sequence(
create_file("zensical.toml"),
toml_add_dependency(group="docs", name="zensical"),
ensure_workflow("deploy-zensical.yml"),
ensure_directory("docs")
)
)
Command Reference
Show command reference
In a machine terminal
Open a machine terminal where you want the project:
git clone https://github.com/structural-explainability/se-admin
cd se-admin
code .
In a VS Code terminal
# if strange errors, clean uv cache
# uv cache clean
uv self update
uv python pin 3.15
uv sync --extra dev --extra docs --upgrade
uvx pre-commit install
git add -A
uvx pre-commit run --all-files
# repeat if changes were made
git add -A
uvx pre-commit run --all-files
# run the module
uv run python -m se_admin show
# do chores
uv run python -m pyright
uv run python -m pytest
uv run python -m zensical build
# save progress
git add -A
git commit -m "update"
git push -u origin main
Portability fixture checks verifying that se-admin
can load and operate on a non-SE repository family
using an alternate data root.
uv run python -m se_admin --data tests/fixtures/streaming-admin/data repos
uv run python -m se_admin --data tests/fixtures/streaming-admin/data check --set modules
uv run python -m se_admin --data tests/fixtures/streaming-admin/data check --set admin
uv run python -m se_admin --data tests/fixtures/streaming-admin/data run --dry-run normalize_core_files
</details>
## Citation
[CITATION.cff](./CITATION.cff)
## License
[LICENSE](./LICENSE)
## Manifest
[SE_MANIFEST.toml](./SE_MANIFEST.toml)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file se_admin-0.2.0.tar.gz.
File metadata
- Download URL: se_admin-0.2.0.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65db686b801faad0cb988841af477dbc169e6d7a500b411e061beb1ba194ca28
|
|
| MD5 |
c14745fe390851f16b076c139807e7ef
|
|
| BLAKE2b-256 |
4aefb2b4409cd803bf09558d4a6ab31023a922486a9a41537716120aa1cf7f73
|
Provenance
The following attestation bundles were made for se_admin-0.2.0.tar.gz:
Publisher:
release-pypi.yml on structural-explainability/se-admin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
se_admin-0.2.0.tar.gz -
Subject digest:
65db686b801faad0cb988841af477dbc169e6d7a500b411e061beb1ba194ca28 - Sigstore transparency entry: 1453087574
- Sigstore integration time:
-
Permalink:
structural-explainability/se-admin@5d65260d7c246dd014be44e40f831e8fd37a97cb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/structural-explainability
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@5d65260d7c246dd014be44e40f831e8fd37a97cb -
Trigger Event:
push
-
Statement type:
File details
Details for the file se_admin-0.2.0-py3-none-any.whl.
File metadata
- Download URL: se_admin-0.2.0-py3-none-any.whl
- Upload date:
- Size: 44.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb762652d1c4b6f133aa8d9438c9adfee5cadedf70d0ea2b03020d656ffdd4f6
|
|
| MD5 |
3830acf2e41288e4525947d1d3cebcc3
|
|
| BLAKE2b-256 |
be017752c8e552effde82f175931cb639411ca4eb0a4def38599950841770655
|
Provenance
The following attestation bundles were made for se_admin-0.2.0-py3-none-any.whl:
Publisher:
release-pypi.yml on structural-explainability/se-admin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
se_admin-0.2.0-py3-none-any.whl -
Subject digest:
cb762652d1c4b6f133aa8d9438c9adfee5cadedf70d0ea2b03020d656ffdd4f6 - Sigstore transparency entry: 1453087606
- Sigstore integration time:
-
Permalink:
structural-explainability/se-admin@5d65260d7c246dd014be44e40f831e8fd37a97cb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/structural-explainability
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@5d65260d7c246dd014be44e40f831e8fd37a97cb -
Trigger Event:
push
-
Statement type: