Skip to content

Commit 7dbe7e9

Browse files
authored
Merge pull request #4 from dormitivegit/release/0.4.0rc1
Rename to software-evidence-controls and unify version representation
2 parents 381b5e6 + b291f0f commit 7dbe7e9

53 files changed

Lines changed: 553 additions & 255 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
python-version: ${{ matrix.python-version }}
2929

3030
- name: Check CLI version
31-
run: PYTHONPATH=src python -m assurance_toolkit --version
31+
run: PYTHONPATH=src python -m software_evidence_controls --version
3232

3333
- name: Run tests
3434
run: PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src python -m unittest discover -s tests -v
@@ -64,5 +64,5 @@ jobs:
6464
run: |
6565
python -m venv .package-smoke
6666
.package-smoke/bin/python -m pip install --no-index --no-deps dist/*.whl
67-
.package-smoke/bin/assurance --version
68-
.package-smoke/bin/assurance classify fixtures/classify/read-local-document.json --format json | .package-smoke/bin/python -c 'import json, sys; payload = json.load(sys.stdin); assert payload["result"] == "PASS" and payload["tier"] == "T0"'
67+
.package-smoke/bin/software-evidence-controls --version
68+
.package-smoke/bin/software-evidence-controls classify fixtures/classify/read-local-document.json --format json | .package-smoke/bin/python -c 'import json, sys; payload = json.load(sys.stdin); assert payload["result"] == "PASS" and payload["tier"] == "T0"'

.github/workflows/fable5-dogfood.yml renamed to .github/workflows/software-evidence-controls-dogfood.yml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: FABLE5 Informational Dogfood
1+
name: Software Evidence Controls Informational Dogfood
22

33
on:
44
push:
@@ -26,17 +26,17 @@ jobs:
2626
with:
2727
python-version: "3.11"
2828

29-
- name: Install the published FABLE5 verifier
29+
- name: Install the published Software Evidence Controls verifier
3030
shell: bash
3131
run: |
3232
set -euo pipefail
33-
evidence_dir="$RUNNER_TEMP/fable5-dogfood-evidence"
33+
evidence_dir="$RUNNER_TEMP/software-evidence-controls-dogfood-evidence"
3434
mkdir -p "$evidence_dir"
35-
python -m pip install --disable-pip-version-check fable5-assurance-toolkit==0.3.0rc6
36-
installed_version="$(python -c 'from importlib.metadata import version; print(version("fable5-assurance-toolkit"))')"
37-
test "$installed_version" = "0.3.0rc6"
35+
python -m pip install --disable-pip-version-check software-evidence-controls==0.4.0rc1
36+
installed_version="$(python -c 'from importlib.metadata import version; print(version("software-evidence-controls"))')"
37+
test "$installed_version" = "0.4.0rc1"
3838
{
39-
assurance --version
39+
software-evidence-controls --version
4040
printf 'python-distribution-version: %s\n' "$installed_version"
4141
} > "$evidence_dir/identity.txt"
4242
@@ -51,8 +51,8 @@ jobs:
5151
run: |
5252
set -euo pipefail
5353
54-
evidence_dir="$RUNNER_TEMP/fable5-dogfood-evidence"
55-
manifest="$RUNNER_TEMP/fable5-task236-base-manifest.jsonl"
54+
evidence_dir="$RUNNER_TEMP/software-evidence-controls-dogfood-evidence"
55+
manifest="$RUNNER_TEMP/software-evidence-controls-task236-base-manifest.jsonl"
5656
workspace_path="$GITHUB_WORKSPACE"
5757
event="$EVENT_NAME"
5858
mkdir -p "$evidence_dir"
@@ -88,7 +88,7 @@ jobs:
8888
"event": event,
8989
"base_sha": base_sha,
9090
"head_sha": head_sha,
91-
"tool": "fable5-assurance-toolkit==0.3.0rc6",
91+
"tool": "software-evidence-controls==0.4.0rc1",
9292
"positive_control_pass": False,
9393
"canary": {"landed_proven": False, "ci10_observed": False, "process_exit": None},
9494
"ordinary_tests": {"executed": False, "exit": None, "count": None},
@@ -108,7 +108,7 @@ jobs:
108108
json.dump(payload, handle, sort_keys=True, indent=2)
109109
handle.write("\n")
110110
PY
111-
printf '%s\n' 'FABLE5_TASK236=BASE_UNAVAILABLE' >> "$GITHUB_STEP_SUMMARY"
111+
printf '%s\n' 'SOFTWARE_EVIDENCE_CONTROLS_TASK236=BASE_UNAVAILABLE' >> "$GITHUB_STEP_SUMMARY"
112112
exit 0
113113
fi
114114
@@ -120,11 +120,11 @@ jobs:
120120
source_path="$workspace_path/src"
121121
test -d "$source_path"
122122
123-
assurance corpus freeze "$source_path" --manifest "$manifest" --format json > /dev/null
123+
software-evidence-controls corpus freeze "$source_path" --manifest "$manifest" --format json > /dev/null
124124
manifest_sha256="$(sha256sum "$manifest" | awk '{print $1}')"
125125
126126
set +e
127-
assurance corpus verify "$manifest" --accepted-manifest-sha256 "$manifest_sha256" --expected-root "$source_path" --detect-new --format json > "$evidence_dir/base-positive.json"
127+
software-evidence-controls corpus verify "$manifest" --accepted-manifest-sha256 "$manifest_sha256" --expected-root "$source_path" --detect-new --format json > "$evidence_dir/base-positive.json"
128128
base_positive_exit=$?
129129
set -e
130130
python - "$evidence_dir/base-positive.json" "$base_positive_exit" <<'PY'
@@ -138,11 +138,11 @@ jobs:
138138
raise SystemExit("Task236 positive control is not clean")
139139
PY
140140
141-
canary_path="$source_path/.fable5_task236_canary.py"
142-
expected_canary_sha256="49851d4c1e906efa99c03b0127c32197490a0d72be438f188d0dcaf67b32a5ac"
141+
canary_path="$source_path/.software_evidence_controls_task236_canary.py"
142+
expected_canary_sha256="b806ce69af93c9ed1f37bb44b85831cfe94053a53979a5030322288e88e19888"
143143
printf '%s\n' \
144144
'# Task236 ephemeral runner-only canary' \
145-
'TASK236_CANARY = "fable5-dogfood"' > "$canary_path"
145+
'TASK236_CANARY = "software-evidence-controls-dogfood"' > "$canary_path"
146146
actual_canary_sha256="$(sha256sum "$canary_path" | awk '{print $1}')"
147147
test "$actual_canary_sha256" = "$expected_canary_sha256"
148148
test -f "$canary_path"
@@ -154,7 +154,7 @@ jobs:
154154
} > "$evidence_dir/canary-proof.txt"
155155
156156
set +e
157-
assurance corpus verify "$manifest" --accepted-manifest-sha256 "$manifest_sha256" --expected-root "$source_path" --detect-new --format json > "$evidence_dir/canary.json"
157+
software-evidence-controls corpus verify "$manifest" --accepted-manifest-sha256 "$manifest_sha256" --expected-root "$source_path" --detect-new --format json > "$evidence_dir/canary.json"
158158
canary_exit=$?
159159
set -e
160160
python - "$evidence_dir/canary.json" "$evidence_dir/canary-decision.json" "$canary_exit" <<'PY'
@@ -198,7 +198,7 @@ jobs:
198198
failed_test_count="$(grep -c '_FailedTest' "$evidence_dir/ordinary-tests.log" || true)"
199199
200200
set +e
201-
assurance corpus verify "$manifest" --accepted-manifest-sha256 "$manifest_sha256" --expected-root "$source_path" --detect-new --format json > "$evidence_dir/head-observation.json" 2> "$evidence_dir/head-observation.stderr"
201+
software-evidence-controls corpus verify "$manifest" --accepted-manifest-sha256 "$manifest_sha256" --expected-root "$source_path" --detect-new --format json > "$evidence_dir/head-observation.json" 2> "$evidence_dir/head-observation.stderr"
202202
head_verify_exit=$?
203203
set -e
204204
@@ -264,7 +264,7 @@ jobs:
264264
"base_tree": base_tree,
265265
"head_tree": head_tree,
266266
"manifest_sha256": manifest_sha256,
267-
"tool": "fable5-assurance-toolkit==0.3.0rc6",
267+
"tool": "software-evidence-controls==0.4.0rc1",
268268
"positive_control_pass": int(base_positive_exit) == 0,
269269
"canary": {
270270
"landed_proven": True,
@@ -316,7 +316,7 @@ jobs:
316316
PY
317317
318318
{
319-
printf '%s\n' '## FABLE5 informational dogfood'
319+
printf '%s\n' '## Software Evidence Controls informational dogfood'
320320
printf '%s\n' "- Event: \`$event\`"
321321
printf '%s\n' "- Base: \`$base_sha\`"
322322
printf '%s\n' "- Head: \`$head_sha\`"
@@ -330,6 +330,6 @@ jobs:
330330
if: always()
331331
uses: actions/upload-artifact@v4
332332
with:
333-
name: fable5-dogfood-evidence
334-
path: ${{ runner.temp }}/fable5-dogfood-evidence
333+
name: software-evidence-controls-dogfood-evidence
334+
path: ${{ runner.temp }}/software-evidence-controls-dogfood-evidence
335335
if-no-files-found: error

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Changelog
22

3+
## 0.4.0-rename.1
4+
5+
- Renamed the distribution, repository references, and sole console command
6+
from `fable5-assurance-toolkit` / `assurance` to
7+
`software-evidence-controls`.
8+
- Renamed the import package from `assurance_toolkit` to
9+
`software_evidence_controls` while preserving package-internal relative
10+
imports.
11+
- Advanced the Python distribution version to `0.4.0rc1` and the product
12+
version to `0.4.0-rename.1`, with a repository-surface test binding both
13+
version pairs.
14+
- Retargeted documentation, examples, tests, package metadata, and the
15+
informational dogfood workflow to the new product identity while preserving
16+
recovery-lineage and published-version history.
17+
18+
This remains a local prerelease candidate. The rename and local validation do
19+
not create a release, publish a distribution, rename the hosted repository, or
20+
establish external adoption or acceptance.
21+
322
## 0.3.0-recovery.6
423

524
- Added a repeatable `--expected-root ROOT` option to `corpus verify`. Each

CONTRIBUTING.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# Contributing to FABLE5
1+
# Contributing to Software Evidence Controls
22

3-
Thank you for helping improve FABLE5. Contributions should keep the toolkit
4-
small, inspectable, deterministic, and useful to both human reviewers and
5-
AI-assisted engineering workflows.
3+
Thank you for helping improve Software Evidence Controls. Contributions should
4+
keep the toolkit small, inspectable, deterministic, and useful to both human
5+
reviewers and AI-assisted engineering workflows.
66

77
## Before opening a pull request
88

@@ -19,11 +19,12 @@ For vulnerability reports, do not open a public issue or pull request. Follow
1919

2020
## Development and tests
2121

22-
FABLE5 requires Python 3.11 or newer and has no non-standard-library Python
23-
runtime dependencies. Run the public CLI directly from the checkout:
22+
Software Evidence Controls requires Python 3.11 or newer and has no
23+
non-standard-library Python runtime dependencies. Run the public CLI directly
24+
from the checkout:
2425

2526
```sh
26-
PYTHONPATH=src python3 -m assurance_toolkit --version
27+
PYTHONPATH=src python3 -m software_evidence_controls --version
2728
```
2829

2930
Run the complete test suite before submitting:

MAINTAINERS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ The primary maintainer is responsible for:
1616
responsible disclosure;
1717
- setting project direction and keeping the public roadmap and documentation
1818
aligned with implemented behavior; and
19-
- preserving FABLE5's behavioral contracts, deterministic outputs, and
20-
fail-closed boundaries, or clearly documenting and testing intentional
21-
contract changes.
19+
- preserving the behavioral contracts, deterministic outputs, and fail-closed
20+
boundaries of Software Evidence Controls, or clearly documenting and testing
21+
intentional contract changes.
2222

2323
Community members may propose changes and participate in review. Repository
2424
and release decisions remain the responsibility of the maintainer, with

0 commit comments

Comments
 (0)