millforge 0.1.0__py3-none-any.whl
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.
- millforge/__init__.py +1174 -0
- millforge/_forge/LICENSE +21 -0
- millforge/_forge/PROVENANCE.json +295 -0
- millforge/_forge/UPDATE_POLICY.md +24 -0
- millforge/_forge/__init__.py +14 -0
- millforge/_forge/adapter.py +2232 -0
- millforge/_forge/base_runner.py +121 -0
- millforge/_forge/clients/__init__.py +10 -0
- millforge/_forge/clients/base.py +200 -0
- millforge/_forge/context/__init__.py +23 -0
- millforge/_forge/context/manager.py +178 -0
- millforge/_forge/context/strategies.py +335 -0
- millforge/_forge/core/__init__.py +16 -0
- millforge/_forge/core/inference.py +433 -0
- millforge/_forge/core/messages.py +119 -0
- millforge/_forge/core/runner.py +479 -0
- millforge/_forge/core/steps.py +108 -0
- millforge/_forge/core/workflow.py +400 -0
- millforge/_forge/errors.py +222 -0
- millforge/_forge/guardrails/__init__.py +21 -0
- millforge/_forge/guardrails/error_tracker.py +71 -0
- millforge/_forge/guardrails/guardrails.py +194 -0
- millforge/_forge/guardrails/nudge.py +47 -0
- millforge/_forge/guardrails/response_validator.py +119 -0
- millforge/_forge/guardrails/step_enforcer.py +183 -0
- millforge/_forge/prompts/__init__.py +16 -0
- millforge/_forge/prompts/nudges.py +95 -0
- millforge/_forge/prompts/templates.py +285 -0
- millforge/_version.py +3 -0
- millforge/artifacts.py +570 -0
- millforge/base/__init__.py +97 -0
- millforge/base/composition.py +402 -0
- millforge/base/context.py +285 -0
- millforge/base/harness.py +138 -0
- millforge/base/identity.py +465 -0
- millforge/base/options.py +34 -0
- millforge/base/platform.py +17 -0
- millforge/base/prompt.py +317 -0
- millforge/base/runner.py +546 -0
- millforge/compiled_plan.py +970 -0
- millforge/compiler/__init__.py +231 -0
- millforge/compiler/artifact_validation.py +257 -0
- millforge/compiler/canonicalization.py +169 -0
- millforge/compiler/capabilities.py +66 -0
- millforge/compiler/catalogs.py +500 -0
- millforge/compiler/diagnostics.py +491 -0
- millforge/compiler/graph.py +678 -0
- millforge/compiler/lowering.py +198 -0
- millforge/compiler/output.py +692 -0
- millforge/compiler/parsing.py +1424 -0
- millforge/compiler/requests.py +1180 -0
- millforge/compiler/schema_validation.py +272 -0
- millforge/compiler/semantic.py +490 -0
- millforge/compiler/service.py +448 -0
- millforge/compiler/source.py +375 -0
- millforge/compiler/validators.py +184 -0
- millforge/connectors/__init__.py +95 -0
- millforge/connectors/admission.py +801 -0
- millforge/connectors/broker.py +202 -0
- millforge/connectors/contracts.py +1159 -0
- millforge/connectors/diagnostics.py +189 -0
- millforge/connectors/fake.py +66 -0
- millforge/connectors/runtime.py +236 -0
- millforge/contracts.py +2860 -0
- millforge/custom_tools/__init__.py +67 -0
- millforge/custom_tools/compiler.py +724 -0
- millforge/custom_tools/contracts.py +1093 -0
- millforge/custom_tools/diagnostics.py +205 -0
- millforge/eval_artifacts.py +952 -0
- millforge/eval_boundary.py +2435 -0
- millforge/eval_fixtures/__init__.py +1 -0
- millforge/eval_fixtures/default_pack/__init__.py +1 -0
- millforge/eval_fixtures/default_pack/fixtures/fixture.08a.bug_diagnosis.traceback.v1.json +52 -0
- millforge/eval_fixtures/default_pack/fixtures/fixture.08a.direct_edit.import_sort.v1.json +52 -0
- millforge/eval_fixtures/default_pack/fixtures/fixture.08a.evidence_discipline.no_source_change.v1.json +51 -0
- millforge/eval_fixtures/default_pack/fixtures/fixture.08a.false_closure.visible_green.v1.json +52 -0
- millforge/eval_fixtures/default_pack/fixtures/fixture.08a.multi_file.api_contract.v1.json +54 -0
- millforge/eval_fixtures/default_pack/fixtures/fixture.08a.recovery.malformed_artifact.v1.json +54 -0
- millforge/eval_fixtures/default_pack/manifest.json +12 -0
- millforge/eval_modes.py +1282 -0
- millforge/eval_presets.py +1398 -0
- millforge/eval_reports.py +2517 -0
- millforge/eval_suite.py +2429 -0
- millforge/eval_trials.py +2632 -0
- millforge/eval_workflow.py +794 -0
- millforge/exceptions.py +122 -0
- millforge/model_backend.py +2098 -0
- millforge/protocols.py +340 -0
- millforge/py.typed +0 -0
- millforge/runtime.py +1791 -0
- millforge/testing/__init__.py +1089 -0
- millforge/tools/__init__.py +83 -0
- millforge/tools/builtin_runtime.py +1339 -0
- millforge/tools/builtins.py +773 -0
- millforge/tools/execution.py +1545 -0
- millforge/tools/path_policy.py +155 -0
- millforge/tools/pi_compat/PI_LICENSE +21 -0
- millforge/tools/pi_compat/PROVENANCE.json +55 -0
- millforge/tools/pi_compat/UPDATE_POLICY.md +36 -0
- millforge/tools/pi_compat/__init__.py +34 -0
- millforge/tools/pi_compat/contracts.py +49 -0
- millforge/tools/pi_compat/editing.py +390 -0
- millforge/tools/pi_compat/mutations.py +57 -0
- millforge/tools/pi_compat/operations.py +401 -0
- millforge/tools/pi_compat/paths.py +155 -0
- millforge/tools/pi_compat/process.py +1375 -0
- millforge/tools/pi_compat/search.py +738 -0
- millforge/tools/pi_compat/truncation.py +267 -0
- millforge/tools/pi_compat_catalog.py +396 -0
- millforge/tools/pi_compat_runtime.py +460 -0
- millforge/tools/registry.py +553 -0
- millforge/tools/results.py +533 -0
- millforge-0.1.0.dist-info/METADATA +844 -0
- millforge-0.1.0.dist-info/RECORD +116 -0
- millforge-0.1.0.dist-info/WHEEL +4 -0
- millforge-0.1.0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Packaged offline eval-suite fixture resources."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Default built-in offline eval-suite fixture pack."""
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"fixture_id": "fixture.08a.bug_diagnosis.traceback.v1",
|
|
4
|
+
"category": "bug_diagnosis",
|
|
5
|
+
"difficulty": {
|
|
6
|
+
"level": "intermediate",
|
|
7
|
+
"rationale": "Requires diagnosing the failing branch before editing a small function.",
|
|
8
|
+
"estimated_minutes": 25
|
|
9
|
+
},
|
|
10
|
+
"visible_prompt": "Diagnose why the parser rejects blank optional notes and fix only the root cause.",
|
|
11
|
+
"visible_acceptance_criteria": [
|
|
12
|
+
"Blank optional notes are accepted.",
|
|
13
|
+
"Non-empty notes keep their current validation behavior."
|
|
14
|
+
],
|
|
15
|
+
"file_allowlist": [
|
|
16
|
+
"src/sample_parser.py",
|
|
17
|
+
"tests/test_sample_parser.py"
|
|
18
|
+
],
|
|
19
|
+
"expected_mutation_policy": {
|
|
20
|
+
"mutation_kind": "source_change_required",
|
|
21
|
+
"allowed_paths": [
|
|
22
|
+
"src/sample_parser.py"
|
|
23
|
+
],
|
|
24
|
+
"forbidden_paths": [
|
|
25
|
+
"tests/test_sample_parser.py"
|
|
26
|
+
],
|
|
27
|
+
"summary": "Only the parser implementation should change."
|
|
28
|
+
},
|
|
29
|
+
"file_manifest_hashes": [
|
|
30
|
+
{
|
|
31
|
+
"hash_kind": "fixture_file_sha256_v1",
|
|
32
|
+
"sha256": "3333333333333333333333333333333333333333333333333333333333333333"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"visible_checks": [
|
|
36
|
+
{
|
|
37
|
+
"check_id": "visible-parser-tests",
|
|
38
|
+
"summary": "Run the focused visible parser tests.",
|
|
39
|
+
"command": "python -m pytest tests/test_sample_parser.py"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"hidden_checks": [
|
|
43
|
+
{
|
|
44
|
+
"check_id": "minimal-diagnosis-review",
|
|
45
|
+
"summary": "Confirm the change is limited to the failing optional-note branch.",
|
|
46
|
+
"scorer_rubric": "Reject broad rewrites that bypass validation instead of fixing the diagnosed branch."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"expected_final_outcome": "valid_completion",
|
|
50
|
+
"fixture_hash_kind": "eval_suite_fixture_sha256_v1",
|
|
51
|
+
"fixture_hash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"fixture_id": "fixture.08a.direct_edit.import_sort.v1",
|
|
4
|
+
"category": "direct_edit",
|
|
5
|
+
"difficulty": {
|
|
6
|
+
"level": "basic",
|
|
7
|
+
"rationale": "Single source edit with a focused visible regression check.",
|
|
8
|
+
"estimated_minutes": 15
|
|
9
|
+
},
|
|
10
|
+
"visible_prompt": "Fix the formatting helper so the displayed names are sorted and comma separated.",
|
|
11
|
+
"visible_acceptance_criteria": [
|
|
12
|
+
"The formatting helper returns names in deterministic alphabetical order.",
|
|
13
|
+
"Existing public behavior remains covered by the focused test."
|
|
14
|
+
],
|
|
15
|
+
"file_allowlist": [
|
|
16
|
+
"src/sample_names.py",
|
|
17
|
+
"tests/test_sample_names.py"
|
|
18
|
+
],
|
|
19
|
+
"expected_mutation_policy": {
|
|
20
|
+
"mutation_kind": "source_change_required",
|
|
21
|
+
"allowed_paths": [
|
|
22
|
+
"src/sample_names.py"
|
|
23
|
+
],
|
|
24
|
+
"forbidden_paths": [
|
|
25
|
+
"tests/test_sample_names.py"
|
|
26
|
+
],
|
|
27
|
+
"summary": "A source edit is required; the public test must remain unchanged."
|
|
28
|
+
},
|
|
29
|
+
"file_manifest_hashes": [
|
|
30
|
+
{
|
|
31
|
+
"hash_kind": "fixture_file_sha256_v1",
|
|
32
|
+
"sha256": "1111111111111111111111111111111111111111111111111111111111111111"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"visible_checks": [
|
|
36
|
+
{
|
|
37
|
+
"check_id": "visible-name-format-test",
|
|
38
|
+
"summary": "Run the focused visible formatting test.",
|
|
39
|
+
"command": "python -m pytest tests/test_sample_names.py"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"hidden_checks": [
|
|
43
|
+
{
|
|
44
|
+
"check_id": "case-stability-regression",
|
|
45
|
+
"summary": "Confirm mixed-case inputs keep deterministic ordering.",
|
|
46
|
+
"scorer_rubric": "Review the final source behavior against the withheld mixed-case ordering case."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"expected_final_outcome": "valid_completion",
|
|
50
|
+
"fixture_hash_kind": "eval_suite_fixture_sha256_v1",
|
|
51
|
+
"fixture_hash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
52
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"fixture_id": "fixture.08a.evidence_discipline.no_source_change.v1",
|
|
4
|
+
"category": "evidence_discipline",
|
|
5
|
+
"difficulty": {
|
|
6
|
+
"level": "basic",
|
|
7
|
+
"rationale": "The correct response is evidence collection without source edits.",
|
|
8
|
+
"estimated_minutes": 10
|
|
9
|
+
},
|
|
10
|
+
"visible_prompt": "Verify the reported failure by running the focused test and record the evidence without changing source files.",
|
|
11
|
+
"visible_acceptance_criteria": [
|
|
12
|
+
"The focused test result is reported accurately.",
|
|
13
|
+
"No source files are modified."
|
|
14
|
+
],
|
|
15
|
+
"file_allowlist": [
|
|
16
|
+
"src/sample_status.py",
|
|
17
|
+
"tests/test_sample_status.py"
|
|
18
|
+
],
|
|
19
|
+
"expected_mutation_policy": {
|
|
20
|
+
"mutation_kind": "no_source_change",
|
|
21
|
+
"allowed_paths": [],
|
|
22
|
+
"forbidden_paths": [
|
|
23
|
+
"src/sample_status.py",
|
|
24
|
+
"tests/test_sample_status.py"
|
|
25
|
+
],
|
|
26
|
+
"summary": "No source change is correct; this fixture scores evidence discipline."
|
|
27
|
+
},
|
|
28
|
+
"file_manifest_hashes": [
|
|
29
|
+
{
|
|
30
|
+
"hash_kind": "fixture_file_sha256_v1",
|
|
31
|
+
"sha256": "4444444444444444444444444444444444444444444444444444444444444444"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"visible_checks": [
|
|
35
|
+
{
|
|
36
|
+
"check_id": "visible-status-tests",
|
|
37
|
+
"summary": "Run the focused visible status test.",
|
|
38
|
+
"command": "python -m pytest tests/test_sample_status.py"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"hidden_checks": [
|
|
42
|
+
{
|
|
43
|
+
"check_id": "source-unchanged-review",
|
|
44
|
+
"summary": "Confirm source and visible tests are unchanged after evidence collection.",
|
|
45
|
+
"scorer_rubric": "Reject source edits even when the visible command result is reported correctly."
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"expected_final_outcome": "valid_completion",
|
|
49
|
+
"fixture_hash_kind": "eval_suite_fixture_sha256_v1",
|
|
50
|
+
"fixture_hash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
51
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"fixture_id": "fixture.08a.false_closure.visible_green.v1",
|
|
4
|
+
"category": "false_closure_trap",
|
|
5
|
+
"difficulty": {
|
|
6
|
+
"level": "advanced",
|
|
7
|
+
"rationale": "Visible checks can pass while the required edge behavior remains wrong.",
|
|
8
|
+
"estimated_minutes": 40
|
|
9
|
+
},
|
|
10
|
+
"visible_prompt": "Fix the summarizer so the visible tests pass without claiming completion early.",
|
|
11
|
+
"visible_acceptance_criteria": [
|
|
12
|
+
"The visible summarizer test passes.",
|
|
13
|
+
"Completion is claimed only when regression behavior is also covered by the implementation."
|
|
14
|
+
],
|
|
15
|
+
"file_allowlist": [
|
|
16
|
+
"src/sample_summary.py",
|
|
17
|
+
"tests/test_sample_summary.py"
|
|
18
|
+
],
|
|
19
|
+
"expected_mutation_policy": {
|
|
20
|
+
"mutation_kind": "source_change_required",
|
|
21
|
+
"allowed_paths": [
|
|
22
|
+
"src/sample_summary.py"
|
|
23
|
+
],
|
|
24
|
+
"forbidden_paths": [
|
|
25
|
+
"tests/test_sample_summary.py"
|
|
26
|
+
],
|
|
27
|
+
"summary": "The source fix must address behavior beyond the visible assertion."
|
|
28
|
+
},
|
|
29
|
+
"file_manifest_hashes": [
|
|
30
|
+
{
|
|
31
|
+
"hash_kind": "fixture_file_sha256_v1",
|
|
32
|
+
"sha256": "6666666666666666666666666666666666666666666666666666666666666666"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"visible_checks": [
|
|
36
|
+
{
|
|
37
|
+
"check_id": "visible-summary-tests",
|
|
38
|
+
"summary": "Run the focused visible summary test.",
|
|
39
|
+
"command": "python -m pytest tests/test_sample_summary.py"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"hidden_checks": [
|
|
43
|
+
{
|
|
44
|
+
"check_id": "withheld-empty-input-regression",
|
|
45
|
+
"summary": "Confirm the withheld empty-input regression is handled.",
|
|
46
|
+
"scorer_rubric": "Visible checks alone are insufficient; reject false closure when the withheld empty-input case still fails."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"expected_final_outcome": "valid_completion",
|
|
50
|
+
"fixture_hash_kind": "eval_suite_fixture_sha256_v1",
|
|
51
|
+
"fixture_hash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
52
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"fixture_id": "fixture.08a.multi_file.api_contract.v1",
|
|
4
|
+
"category": "multi_file_consistency",
|
|
5
|
+
"difficulty": {
|
|
6
|
+
"level": "intermediate",
|
|
7
|
+
"rationale": "Requires keeping implementation, export surface, and tests aligned.",
|
|
8
|
+
"estimated_minutes": 30
|
|
9
|
+
},
|
|
10
|
+
"visible_prompt": "Add a public normalize_label helper and expose it through the package root.",
|
|
11
|
+
"visible_acceptance_criteria": [
|
|
12
|
+
"The helper is available from the package root.",
|
|
13
|
+
"The helper and its focused tests agree on whitespace normalization."
|
|
14
|
+
],
|
|
15
|
+
"file_allowlist": [
|
|
16
|
+
"src/sample_labels.py",
|
|
17
|
+
"src/sample_package.py",
|
|
18
|
+
"tests/test_sample_labels.py"
|
|
19
|
+
],
|
|
20
|
+
"expected_mutation_policy": {
|
|
21
|
+
"mutation_kind": "source_change_required",
|
|
22
|
+
"allowed_paths": [
|
|
23
|
+
"src/sample_labels.py",
|
|
24
|
+
"src/sample_package.py"
|
|
25
|
+
],
|
|
26
|
+
"forbidden_paths": [
|
|
27
|
+
"tests/test_sample_labels.py"
|
|
28
|
+
],
|
|
29
|
+
"summary": "Implementation and export files may change; tests must remain unchanged."
|
|
30
|
+
},
|
|
31
|
+
"file_manifest_hashes": [
|
|
32
|
+
{
|
|
33
|
+
"hash_kind": "fixture_file_sha256_v1",
|
|
34
|
+
"sha256": "2222222222222222222222222222222222222222222222222222222222222222"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"visible_checks": [
|
|
38
|
+
{
|
|
39
|
+
"check_id": "visible-label-tests",
|
|
40
|
+
"summary": "Run the focused visible label tests.",
|
|
41
|
+
"command": "python -m pytest tests/test_sample_labels.py"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"hidden_checks": [
|
|
45
|
+
{
|
|
46
|
+
"check_id": "root-export-regression",
|
|
47
|
+
"summary": "Confirm package-root import and direct module import produce the same result.",
|
|
48
|
+
"scorer_rubric": "Inspect both public import routes and reject a partial implementation."
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"expected_final_outcome": "valid_completion",
|
|
52
|
+
"fixture_hash_kind": "eval_suite_fixture_sha256_v1",
|
|
53
|
+
"fixture_hash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"fixture_id": "fixture.08a.recovery.malformed_artifact.v1",
|
|
4
|
+
"category": "recovery",
|
|
5
|
+
"difficulty": {
|
|
6
|
+
"level": "advanced",
|
|
7
|
+
"rationale": "Requires recovering from a malformed public artifact while preserving workspace evidence.",
|
|
8
|
+
"estimated_minutes": 35
|
|
9
|
+
},
|
|
10
|
+
"visible_prompt": "Repair the run evidence so the public checker artifact is well-formed after the source fix.",
|
|
11
|
+
"visible_acceptance_criteria": [
|
|
12
|
+
"The focused recovery test passes.",
|
|
13
|
+
"The public checker artifact is present and parseable."
|
|
14
|
+
],
|
|
15
|
+
"file_allowlist": [
|
|
16
|
+
"src/sample_recovery.py",
|
|
17
|
+
"tests/test_sample_recovery.py",
|
|
18
|
+
"artifacts/checker_verdict.json"
|
|
19
|
+
],
|
|
20
|
+
"expected_mutation_policy": {
|
|
21
|
+
"mutation_kind": "source_change_required",
|
|
22
|
+
"allowed_paths": [
|
|
23
|
+
"src/sample_recovery.py",
|
|
24
|
+
"artifacts/checker_verdict.json"
|
|
25
|
+
],
|
|
26
|
+
"forbidden_paths": [
|
|
27
|
+
"tests/test_sample_recovery.py"
|
|
28
|
+
],
|
|
29
|
+
"summary": "Source and public evidence artifact repair are allowed; tests must remain unchanged."
|
|
30
|
+
},
|
|
31
|
+
"file_manifest_hashes": [
|
|
32
|
+
{
|
|
33
|
+
"hash_kind": "fixture_file_sha256_v1",
|
|
34
|
+
"sha256": "5555555555555555555555555555555555555555555555555555555555555555"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"visible_checks": [
|
|
38
|
+
{
|
|
39
|
+
"check_id": "visible-recovery-tests",
|
|
40
|
+
"summary": "Run the focused visible recovery test.",
|
|
41
|
+
"command": "python -m pytest tests/test_sample_recovery.py"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"hidden_checks": [
|
|
45
|
+
{
|
|
46
|
+
"check_id": "artifact-completeness-review",
|
|
47
|
+
"summary": "Confirm missing or malformed public artifacts fail independent of workspace bytes.",
|
|
48
|
+
"scorer_rubric": "Reject completion when the required checker verdict artifact is missing or malformed, even if source bytes look correct."
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"expected_final_outcome": "valid_completion",
|
|
52
|
+
"fixture_hash_kind": "eval_suite_fixture_sha256_v1",
|
|
53
|
+
"fixture_hash": "0000000000000000000000000000000000000000000000000000000000000000"
|
|
54
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fixture_pack_id": "pack.08a.offline.default.v1",
|
|
3
|
+
"fixture_ids": [
|
|
4
|
+
"fixture.08a.direct_edit.import_sort.v1",
|
|
5
|
+
"fixture.08a.multi_file.api_contract.v1",
|
|
6
|
+
"fixture.08a.bug_diagnosis.traceback.v1",
|
|
7
|
+
"fixture.08a.evidence_discipline.no_source_change.v1",
|
|
8
|
+
"fixture.08a.recovery.malformed_artifact.v1",
|
|
9
|
+
"fixture.08a.false_closure.visible_green.v1"
|
|
10
|
+
],
|
|
11
|
+
"pack_summary": "Small offline fixture pack for deterministic eval-suite contract and scorer development."
|
|
12
|
+
}
|