Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,25 @@ The private native snapshot helper is the exception recorded in
`work/portable-profile-resolution/spec.md`. Remove it only when every supported
runtime has an equivalent accepted descriptor-relative no-follow API.

## Inactive default profile assembly

`profiles/default/v1/` binds six default adapter packages to exact Git
objects from one durable main commit. Protected roles keep distinct principals,
execution boundaries, and authority scopes; their decision records cite the exact
accepted `ROADMAP.md` content. The producer manifest and binding also pin the
profile's immutable producer config. Requested capabilities and permissions are
inactive contract data, not grants. The profile requests no adapter tools, and
the CI and dormant-publisher roles request no capability or permission.
The current normalizer payloads only validate supplied records and return
observations; they do not execute a model, verifier, forge, or other adapter.
The GitHub forge normalizer remains a separate observation payload. Transport and
runtime wiring are not part of this inactive assembly.

This is source data only. It is not selected, resolved, qualified, installed, or
activated, has no authority or qualification, and cannot invoke a model, use a
credential, contact a provider, publish, or touch a target. Run
`bash scripts/test/default-profile-assembly.test.sh` for the focused proof.

## Inactive portable core v2 fake-forge contract

`core/v2/` contains an inactive, repo-only contract for deterministic candidate
Expand Down
15 changes: 15 additions & 0 deletions RESTORE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,21 @@ with the restored `scripts/core-contract.sh`. No compiled helper is installed or
restored. A future activation must separately qualify and bind a production trusted
parent; restoring these files does not select a live profile.

### Restore the inactive default profile assembly

Restore the nine paths listed under “Inactive default profile assembly” in
[`ci/required-files.txt`](ci/required-files.txt) from one commit, then run:

```sh
bash scripts/test/default-profile-assembly.test.sh
```

The proof validates the profile and six manifests, their exact main package
objects, the producer config contract, the accepted Roadmap decision record, role
separation, and empty tool requests. Restoring these records does not select,
resolve, qualify, install, or activate the profile; it grants no authority and
performs no model, credential, provider, publish, or target operation.

---

## 1. Recreate yshifu (the manager)
Expand Down
11 changes: 11 additions & 0 deletions ci/required-files.txt
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,14 @@ scripts/test/default-dormant-publisher-adapter.test.sh
# Inactive deterministic verifier normalizer payload
adapters/deterministic-verifier/v1/normalize.jq
scripts/test/default-deterministic-verifier-adapter.test.sh

# Inactive default profile assembly
profiles/default/v1/profile.json
profiles/default/v1/producer-config.json
profiles/default/v1/manifests/claude-code-producer.json
profiles/default/v1/manifests/codex-native-reviewer.json
profiles/default/v1/manifests/deterministic-verifier.json
profiles/default/v1/manifests/dormant-publisher.json
profiles/default/v1/manifests/github-actions-ci.json
profiles/default/v1/manifests/local-git-materializer.json
scripts/test/default-profile-assembly.test.sh
1 change: 1 addition & 0 deletions profiles/default/v1/manifests/claude-code-producer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"adapter_version":"v1","config_contract_ref":{"decision_record_ref":{"content_id":"producer-config","media_type":"application/json","sha256":"ea076206d7f721aa4796c2a0830e95b3c7006703addc717240447c64ad589b61"},"purpose":"config-contract","scope_sha256":"ea076206d7f721aa4796c2a0830e95b3c7006703addc717240447c64ad589b61","subject_ref":{"type":"artifact","value":{"type":"content","value":{"content_id":"producer-config","media_type":"application/json","sha256":"ea076206d7f721aa4796c2a0830e95b3c7006703addc717240447c64ad589b61"}}}},"offered_capabilities":["core.harness.produce.v1"],"offered_execution_kinds":["model"],"offered_permissions":["core.perm.evidence.write.v1","core.perm.model.invoke.v1","core.perm.scratch.write.v1","core.perm.target.read.v1"],"offered_roles":["producer"],"offered_tools":[],"package_ref":{"location":{"kind":"path","value":"adapters/claude-code-producer/v1/normalize.jq"},"mode":"100644","object_id":"8af4d80e04f6f3877861e55c216a5891830b03b6","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}}},"id":"adapter.claude-code-producer.v1","kind":"adapter_manifest","schema_version":2}
1 change: 1 addition & 0 deletions profiles/default/v1/manifests/codex-native-reviewer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"adapter_version":"v1","offered_capabilities":["core.review.change.v1"],"offered_execution_kinds":["model"],"offered_permissions":["core.perm.evidence.write.v1","core.perm.model.invoke.v1","core.perm.target.read.v1"],"offered_roles":["reviewer"],"offered_tools":[],"package_ref":{"location":{"kind":"path","value":"adapters/codex-native-reviewer/v1/normalize.jq"},"mode":"100644","object_id":"432f09f36f8c93076388e4a26dba56b6ee7a2bf9","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}}},"id":"adapter.codex-native-reviewer.v1","kind":"adapter_manifest","schema_version":2}
1 change: 1 addition & 0 deletions profiles/default/v1/manifests/deterministic-verifier.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"adapter_version":"v1","offered_capabilities":["core.verify.run.v1"],"offered_execution_kinds":["deterministic"],"offered_permissions":["core.perm.candidate.execute.v1","core.perm.evidence.write.v1","core.perm.target.read.v1"],"offered_roles":["verifier"],"offered_tools":[],"package_ref":{"location":{"kind":"path","value":"adapters/deterministic-verifier/v1/normalize.jq"},"mode":"100644","object_id":"15fbf4648ee33b8c2fe15ab04357376313f900f6","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}}},"id":"adapter.deterministic-verifier.v1","kind":"adapter_manifest","schema_version":2}
1 change: 1 addition & 0 deletions profiles/default/v1/manifests/dormant-publisher.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"adapter_version":"v1","offered_capabilities":[],"offered_execution_kinds":["deterministic"],"offered_permissions":[],"offered_roles":["publisher"],"offered_tools":[],"package_ref":{"location":{"kind":"path","value":"adapters/dormant-publisher/v1/normalize.jq"},"mode":"100644","object_id":"86ed0cd6b740a192b829044d7bcb7187e5f38422","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}}},"id":"adapter.dormant-publisher.v1","kind":"adapter_manifest","schema_version":2}
1 change: 1 addition & 0 deletions profiles/default/v1/manifests/github-actions-ci.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"adapter_version":"v1","offered_capabilities":[],"offered_execution_kinds":["deterministic"],"offered_permissions":[],"offered_roles":["ci"],"offered_tools":[],"package_ref":{"location":{"kind":"path","value":"adapters/github-actions-ci/v1/normalize.jq"},"mode":"100644","object_id":"2fad7d2d217a5704fcd4e2d1f559309aa832d16d","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}}},"id":"adapter.github-actions-ci.v1","kind":"adapter_manifest","schema_version":2}
1 change: 1 addition & 0 deletions profiles/default/v1/manifests/local-git-materializer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"adapter_version":"v1","offered_capabilities":["core.forge.materialize-candidate.v2"],"offered_execution_kinds":["deterministic"],"offered_permissions":["core.perm.candidate-repository.write.v2","core.perm.evidence.write.v1","core.perm.scratch.write.v1","core.perm.target.read.v1"],"offered_roles":["forge"],"offered_tools":[],"package_ref":{"location":{"kind":"path","value":"adapters/local-git-materializer/v1"},"mode":"040000","object_id":"277863b98b49e54e2cd826b3f32913fd49c51abf","object_type":"tree","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}}},"id":"adapter.local-git-materializer.v1","kind":"adapter_manifest","schema_version":2}
1 change: 1 addition & 0 deletions profiles/default/v1/producer-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"effort_id":"high","model_id":"claude.sonnet","provider_id":"anthropic","schema_version":1}
1 change: 1 addition & 0 deletions profiles/default/v1/profile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"body":{"bindings":[{"adapter_instance_id":"instance.ci","binding_id":"binding.ci","execution_boundary_id":"boundary.ci","execution_kind":"deterministic","manifest_ref":{"id":"adapter.github-actions-ci.v1","kind":"adapter_manifest","schema_version":2,"sha256":"a5cf4b1b94e32d850e3d056024fa2d2c3977b977fb08323e99b89f8c159baff3"},"package_ref":{"location":{"kind":"path","value":"adapters/github-actions-ci/v1/normalize.jq"},"mode":"100644","object_id":"2fad7d2d217a5704fcd4e2d1f559309aa832d16d","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"principal_id":"principal.ci","requested_capabilities":[],"requested_permissions":[],"requested_tools":[],"role":"ci","skill_refs":[]},{"adapter_instance_id":"instance.forge","authority_ref":{"decision_record_ref":{"content_id":"roadmap","media_type":"text/markdown","sha256":"1466262c8994d637a02cc3503c35e3254ecce28479f9847589cb112e42b00107"},"purpose":"authority","scope_sha256":"e31dd669bf048817b503928e51191809cf3a3718d328dc5ab8875a4fe9be2911","subject_ref":{"type":"artifact","value":{"type":"content","value":{"content_id":"authority-forge","media_type":"application/json","sha256":"e31dd669bf048817b503928e51191809cf3a3718d328dc5ab8875a4fe9be2911"}}}},"binding_id":"binding.forge","execution_boundary_id":"boundary.forge","execution_kind":"deterministic","manifest_ref":{"id":"adapter.local-git-materializer.v1","kind":"adapter_manifest","schema_version":2,"sha256":"47c5884ca83597a09f1122467c9c0dfd3ea5b4e0256d2d52ae648167349bffe5"},"package_ref":{"location":{"kind":"path","value":"adapters/local-git-materializer/v1"},"mode":"040000","object_id":"277863b98b49e54e2cd826b3f32913fd49c51abf","object_type":"tree","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"principal_id":"principal.forge","requested_capabilities":["core.forge.materialize-candidate.v2"],"requested_permissions":["core.perm.candidate-repository.write.v2","core.perm.evidence.write.v1","core.perm.scratch.write.v1","core.perm.target.read.v1"],"requested_tools":[],"role":"forge","skill_refs":[]},{"adapter_instance_id":"instance.producer","authority_ref":{"decision_record_ref":{"content_id":"roadmap","media_type":"text/markdown","sha256":"1466262c8994d637a02cc3503c35e3254ecce28479f9847589cb112e42b00107"},"purpose":"authority","scope_sha256":"b35cdd26196d8d93abe1c387cd4edcf9a130ddcc7a718b2431ddf94135eb19d5","subject_ref":{"type":"artifact","value":{"type":"content","value":{"content_id":"authority-producer","media_type":"application/json","sha256":"b35cdd26196d8d93abe1c387cd4edcf9a130ddcc7a718b2431ddf94135eb19d5"}}}},"binding_id":"binding.producer","config_ref":{"location":{"kind":"path","value":"profiles/default/v1/producer-config.json"},"mode":"100644","object_id":"369159a30c8a0026644c3716e7fc1132206e826c","object_type":"blob","revision":{"commit_id":"d97b8e36a2c305fa3888fafba0acda6b85fc93de","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"execution_boundary_id":"boundary.producer","execution_kind":"model","manifest_ref":{"id":"adapter.claude-code-producer.v1","kind":"adapter_manifest","schema_version":2,"sha256":"ada221fd7186544a53ceb2f10e0bbe863eb0ef6ef54b407c65f58d7f21881bb3"},"model_request":{"effort_id":"high","model_id":"claude.sonnet","provider_id":"anthropic"},"package_ref":{"location":{"kind":"path","value":"adapters/claude-code-producer/v1/normalize.jq"},"mode":"100644","object_id":"8af4d80e04f6f3877861e55c216a5891830b03b6","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"principal_id":"principal.producer","prompt_ref":{"location":{"kind":"path","value":"routines/coder.md"},"mode":"100644","object_id":"b307b85339fbfc060aec59c625918a3f20707438","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"requested_capabilities":["core.harness.produce.v1"],"requested_permissions":["core.perm.evidence.write.v1","core.perm.model.invoke.v1","core.perm.scratch.write.v1","core.perm.target.read.v1"],"requested_tools":[],"role":"producer","skill_refs":[]},{"adapter_instance_id":"instance.publisher","authority_ref":{"decision_record_ref":{"content_id":"roadmap","media_type":"text/markdown","sha256":"1466262c8994d637a02cc3503c35e3254ecce28479f9847589cb112e42b00107"},"purpose":"authority","scope_sha256":"9d00187a85fea0021fac962ee13791a14420fb71f4c9e5dcb23a392d5cf0436e","subject_ref":{"type":"artifact","value":{"type":"content","value":{"content_id":"authority-publisher","media_type":"application/json","sha256":"9d00187a85fea0021fac962ee13791a14420fb71f4c9e5dcb23a392d5cf0436e"}}}},"binding_id":"binding.publisher","execution_boundary_id":"boundary.publisher","execution_kind":"deterministic","manifest_ref":{"id":"adapter.dormant-publisher.v1","kind":"adapter_manifest","schema_version":2,"sha256":"e780e0ceb0a305928d6c1fec127cfc6db0140cf2e48b3921e23e59d942419029"},"package_ref":{"location":{"kind":"path","value":"adapters/dormant-publisher/v1/normalize.jq"},"mode":"100644","object_id":"86ed0cd6b740a192b829044d7bcb7187e5f38422","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"principal_id":"principal.publisher","requested_capabilities":[],"requested_permissions":[],"requested_tools":[],"role":"publisher","skill_refs":[]},{"adapter_instance_id":"instance.reviewer","authority_ref":{"decision_record_ref":{"content_id":"roadmap","media_type":"text/markdown","sha256":"1466262c8994d637a02cc3503c35e3254ecce28479f9847589cb112e42b00107"},"purpose":"authority","scope_sha256":"a74f15bc7a469e74924725ab9c319ed9162f44fa12b3cf850798f8274c446b6a","subject_ref":{"type":"artifact","value":{"type":"content","value":{"content_id":"authority-reviewer","media_type":"application/json","sha256":"a74f15bc7a469e74924725ab9c319ed9162f44fa12b3cf850798f8274c446b6a"}}}},"binding_id":"binding.reviewer","execution_boundary_id":"boundary.reviewer","execution_kind":"model","manifest_ref":{"id":"adapter.codex-native-reviewer.v1","kind":"adapter_manifest","schema_version":2,"sha256":"2f1ceaacd455e6cadc09f2762c6735eab48b91890240b6031af3db744a1175c4"},"model_request":{"effort_id":"high","model_id":"codex.review","provider_id":"openai"},"package_ref":{"location":{"kind":"path","value":"adapters/codex-native-reviewer/v1/normalize.jq"},"mode":"100644","object_id":"432f09f36f8c93076388e4a26dba56b6ee7a2bf9","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"principal_id":"principal.reviewer","prompt_ref":{"location":{"kind":"path","value":"reviewer/codex-review.md"},"mode":"100644","object_id":"b757f78b26f926a6688077a81f5b68a37c1c6690","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"requested_capabilities":["core.review.change.v1"],"requested_permissions":["core.perm.evidence.write.v1","core.perm.model.invoke.v1","core.perm.target.read.v1"],"requested_tools":[],"role":"reviewer","skill_refs":[]},{"adapter_instance_id":"instance.verifier","authority_ref":{"decision_record_ref":{"content_id":"roadmap","media_type":"text/markdown","sha256":"1466262c8994d637a02cc3503c35e3254ecce28479f9847589cb112e42b00107"},"purpose":"authority","scope_sha256":"aa7447ee06f5e2a74124f2d0a9d96a4e7552e626ccbd6e60a5ba694331effe04","subject_ref":{"type":"artifact","value":{"type":"content","value":{"content_id":"authority-verifier","media_type":"application/json","sha256":"aa7447ee06f5e2a74124f2d0a9d96a4e7552e626ccbd6e60a5ba694331effe04"}}}},"binding_id":"binding.verifier","execution_boundary_id":"boundary.verifier","execution_kind":"deterministic","manifest_ref":{"id":"adapter.deterministic-verifier.v1","kind":"adapter_manifest","schema_version":2,"sha256":"58f65eeac7dc8292e48adf6e1d0e8235d5a19c92521993c74b7b3368bb3f36fe"},"package_ref":{"location":{"kind":"path","value":"adapters/deterministic-verifier/v1/normalize.jq"},"mode":"100644","object_id":"15fbf4648ee33b8c2fe15ab04357376313f900f6","object_type":"blob","revision":{"commit_id":"a637451d4b3fbef6b516a9c08f68c0dde46a7059","hash_algorithm":"sha1","repository_id":"repo.ystack"}},"principal_id":"principal.verifier","requested_capabilities":["core.verify.run.v1"],"requested_permissions":["core.perm.candidate.execute.v1","core.perm.evidence.write.v1","core.perm.target.read.v1"],"requested_tools":[],"role":"verifier","skill_refs":[]}],"profile_version":"v1"},"id":"profile.default.v1","kind":"profile","schema_version":2}
Loading