Compose composite schema assertions and add per-field rejecting fixtures #4

Closed
opened 2026-07-28 22:43:32 +00:00 by korr · 3 comments
Owner

Parent: homeostat/homeostat#13

Wire every applicable composite field to the architecture-approved part schema through $ref while retaining composite-level requiredness and cross-field constraints. Add a distinct rejecting fixture for each composed field so a regression in any individual reference is observable and attributable. Keep representative valid documents passing. Exercise both source validation and the bundled or packaged artifact, including proof that all internal references resolve in the consumer-facing form.

<!-- homeostat:effect:issue-13:research:plan-composite-schema-assertions:create-composition-fixtures-issue --> Parent: homeostat/homeostat#13 Wire every applicable composite field to the architecture-approved part schema through $ref while retaining composite-level requiredness and cross-field constraints. Add a distinct rejecting fixture for each composed field so a regression in any individual reference is observable and attributable. Keep representative valid documents passing. Exercise both source validation and the bundled or packaged artifact, including proof that all internal references resolve in the consumer-facing form.
Author
Owner

Homeostat invocation issue-13:research:plan-composite-schema-assertions:code-composite-refs-and-fixtures

Status: failed
Capability: coding
Provider/model: codex/default

Input to AI

Final integration requires both the bundling mechanism and all architecture-approved part schemas.

Subject: Wire composite references and add per-field rejecting fixtures

Output from AI

Implementation could not proceed because the execution sandbox rejected every repository command before startup. No files were inspected or changed, and validation was not run. Retry this coding invocation after restoring command execution for the workspace.

Evidence

  • {'operation': 'repository inspection', 'attempts': 2, 'result': 'blocked before execution', 'error': 'bwrap: No permissions to create a new namespace, likely because the kernel does not allow non-privileged user namespaces.'}

Findings

  • Repository inspection, editing, and validation are impossible while the command runner cannot create its sandbox namespace.

Requested effects

No deterministic effect requested.

Mutations

None recorded.

Continuation

  • Resume the implementation when repository command execution is operational.

Completion: none / not_reached

<!-- homeostat:invocation:issue-13:research:plan-composite-schema-assertions:code-composite-refs-and-fixtures --> ### Homeostat invocation `issue-13:research:plan-composite-schema-assertions:code-composite-refs-and-fixtures` Status: **failed** Capability: `coding` Provider/model: `codex/default` #### Input to AI Final integration requires both the bundling mechanism and all architecture-approved part schemas. Subject: Wire composite references and add per-field rejecting fixtures #### Output from AI Implementation could not proceed because the execution sandbox rejected every repository command before startup. No files were inspected or changed, and validation was not run. Retry this coding invocation after restoring command execution for the workspace. #### Evidence - {'operation': 'repository inspection', 'attempts': 2, 'result': 'blocked before execution', 'error': 'bwrap: No permissions to create a new namespace, likely because the kernel does not allow non-privileged user namespaces.'} #### Findings - Repository inspection, editing, and validation are impossible while the command runner cannot create its sandbox namespace. #### Requested effects No deterministic effect requested. #### Mutations None recorded. #### Continuation - Resume the implementation when repository command execution is operational. Completion: `none / not_reached`
Author
Owner

Homeostat invocation issue-13:research:plan-composite-schema-assertions:code-composite-refs-and-fixtures:retry-composite-refs-and-fixtures

Status: complete
Capability: coding
Provider/model: codex/default

Input to AI

Resume the implementation when repository command execution is operational.

Subject: Wire composite references and add per-field rejecting fixtures

Output from AI

Implemented self-contained composite schema references for capability-result findings and completion evidence, invocation readings, and deferred ledger invocations. Added a deterministic bundle generator with stale-output enforcement, distinct rejecting fixtures for every composed field, populated representative valid fixtures, repaired the deferred-join fixture, and documented the consumer-facing packaging contract. Generic provenance, trusted-input, and guide objects remain open because they are not embedded Protocol documents and have no exact approved part schema. All validation and final checks pass.

Evidence

  • Validated 9 schemas, 27 accepting fixtures, and 41 rejecting fixtures.
  • Checked-in consumer-facing bundles match deterministic regeneration.
  • {'kind': 'command', 'command': 'python3 -m py_compile tools/bundle.py tools/validate.py', 'result': 'passed'}
  • {'kind': 'command', 'command': 'git diff --check', 'result': 'passed'}
  • Each consumer-facing single-file schema constructed successfully with local references only.

Findings

None recorded.

Requested effects

  • {'id': 'commit-composite-refs', 'kind': 'git.commit_push', 'subject': 'Commit and push composite schema references and fixtures', 'expected_revision': '9187dfac86', 'parameters': {'repository': 'homeostat/protocol', 'branch': 'fix/composite-schema-refs', 'message': 'Wire composite schema references', 'paths': ['NOTES.md', 'README.md', 'fixtures/invalid/capability-result.malformed-completion-evidence.json', 'fixtures/invalid/capability-result.malformed-composed-finding.json', 'fixtures/invalid/invocation.malformed-composed-reading.json', 'fixtures/invalid/ledger-entry.malformed-composed-invocation.json', 'fixtures/valid/capability-result.complete.json', 'fixtures/valid/invocation.coding.json', 'fixtures/valid/ledger-entry.deferred-join.json', 'schemas/capability-result.schema.json', 'schemas/invocation.schema.json', 'schemas/ledger-entry.schema.json', 'tools/bundle.py', 'tools/validate.py']}}
  • {'id': 'create-composite-refs-pr', 'kind': 'forgejo.pull_request.create', 'subject': 'Open the composite schema references pull request', 'expected_revision': None, 'parameters': {'repository': 'homeostat/protocol', 'base': 'main', 'head': 'fix/composite-schema-refs', 'commit_effect_id': 'commit-composite-refs', 'title': 'Wire composite references and add per-field rejecting fixtures', 'body': 'Closes #4\n\nAdds deterministic, self-contained local-reference bundles for exact Protocol document compositions, field-specific rejecting fixtures, populated accepting fixtures, stale-bundle validation, and packaging documentation.'}}

Mutations

  • Applied git.commit_push as effect commit-composite-refs.
  • Applied forgejo.pull_request.create as effect create-composite-refs-pr.

Continuation

  • Independently review the exact pushed head and verify the bundled references, fixtures, and packaging checks.

Completion: merge / not_reached

<!-- homeostat:invocation:issue-13:research:plan-composite-schema-assertions:code-composite-refs-and-fixtures:retry-composite-refs-and-fixtures --> ### Homeostat invocation `issue-13:research:plan-composite-schema-assertions:code-composite-refs-and-fixtures:retry-composite-refs-and-fixtures` Status: **complete** Capability: `coding` Provider/model: `codex/default` #### Input to AI Resume the implementation when repository command execution is operational. Subject: Wire composite references and add per-field rejecting fixtures #### Output from AI Implemented self-contained composite schema references for capability-result findings and completion evidence, invocation readings, and deferred ledger invocations. Added a deterministic bundle generator with stale-output enforcement, distinct rejecting fixtures for every composed field, populated representative valid fixtures, repaired the deferred-join fixture, and documented the consumer-facing packaging contract. Generic provenance, trusted-input, and guide objects remain open because they are not embedded Protocol documents and have no exact approved part schema. All validation and final checks pass. #### Evidence - Validated 9 schemas, 27 accepting fixtures, and 41 rejecting fixtures. - Checked-in consumer-facing bundles match deterministic regeneration. - {'kind': 'command', 'command': 'python3 -m py_compile tools/bundle.py tools/validate.py', 'result': 'passed'} - {'kind': 'command', 'command': 'git diff --check', 'result': 'passed'} - Each consumer-facing single-file schema constructed successfully with local references only. #### Findings None recorded. #### Requested effects - {'id': 'commit-composite-refs', 'kind': 'git.commit_push', 'subject': 'Commit and push composite schema references and fixtures', 'expected_revision': '9187dfac86bebfbdf8ec256cb1ab7cd63e9d4289', 'parameters': {'repository': 'homeostat/protocol', 'branch': 'fix/composite-schema-refs', 'message': 'Wire composite schema references', 'paths': ['NOTES.md', 'README.md', 'fixtures/invalid/capability-result.malformed-completion-evidence.json', 'fixtures/invalid/capability-result.malformed-composed-finding.json', 'fixtures/invalid/invocation.malformed-composed-reading.json', 'fixtures/invalid/ledger-entry.malformed-composed-invocation.json', 'fixtures/valid/capability-result.complete.json', 'fixtures/valid/invocation.coding.json', 'fixtures/valid/ledger-entry.deferred-join.json', 'schemas/capability-result.schema.json', 'schemas/invocation.schema.json', 'schemas/ledger-entry.schema.json', 'tools/bundle.py', 'tools/validate.py']}} - {'id': 'create-composite-refs-pr', 'kind': 'forgejo.pull_request.create', 'subject': 'Open the composite schema references pull request', 'expected_revision': None, 'parameters': {'repository': 'homeostat/protocol', 'base': 'main', 'head': 'fix/composite-schema-refs', 'commit_effect_id': 'commit-composite-refs', 'title': 'Wire composite references and add per-field rejecting fixtures', 'body': 'Closes #4\n\nAdds deterministic, self-contained local-reference bundles for exact Protocol document compositions, field-specific rejecting fixtures, populated accepting fixtures, stale-bundle validation, and packaging documentation.'}} #### Mutations - Applied git.commit_push as effect commit-composite-refs. - Applied forgejo.pull_request.create as effect create-composite-refs-pr. #### Continuation - Independently review the exact pushed head and verify the bundled references, fixtures, and packaging checks. Completion: `merge / not_reached`
Author
Owner

Delivered by consolidated Protocol PR #5

Per-field rejecting fixtures and valid composed examples are checked by tools/validate.py.

The four planned concerns converged into one atomic schema/bundling change: homeostat/protocol#5, merged as 3dd64b86a446fb72dcc5109c6c0e5c5ab1453c5d. Protocol v0.1.2 (572d418) carries the result and is the active Homeostat pin. Closing this issue as delivered.

## Delivered by consolidated Protocol PR #5 Per-field rejecting fixtures and valid composed examples are checked by `tools/validate.py`. The four planned concerns converged into one atomic schema/bundling change: homeostat/protocol#5, merged as `3dd64b86a446fb72dcc5109c6c0e5c5ab1453c5d`. Protocol v0.1.2 (`572d418`) carries the result and is the active Homeostat pin. Closing this issue as delivered.
korr closed this issue 2026-07-29 05:29:52 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
homeostat/protocol#4
No description provided.