Certify alpha8 production and rollback tuples (#7)
Some checks failed
Candidate compatibility / prepare (push) Successful in 12s
Candidate compatibility / repository (push) Successful in 17s
Candidate compatibility / image ${{ matrix.id }} (push) Has been skipped
Candidate compatibility / fixture-contract (push) Successful in 48s
Candidate compatibility / lockstep clients Ruby 4.0 (push) Successful in 1m0s
Candidate compatibility / lockstep clients Ruby 3.4 (push) Successful in 1m1s
Candidate compatibility / lockstep clients Ruby 3.2 (push) Successful in 1m4s
Candidate compatibility / lockstep clients Ruby 3.3 (push) Successful in 1m43s
Candidate compatibility / Gitea full exact image matrix (push) Successful in 1m48s
Watch upstream OpenCode / open-compatibility-pr (push) Failing after 12s
Some checks failed
Candidate compatibility / prepare (push) Successful in 12s
Candidate compatibility / repository (push) Successful in 17s
Candidate compatibility / image ${{ matrix.id }} (push) Has been skipped
Candidate compatibility / fixture-contract (push) Successful in 48s
Candidate compatibility / lockstep clients Ruby 4.0 (push) Successful in 1m0s
Candidate compatibility / lockstep clients Ruby 3.4 (push) Successful in 1m1s
Candidate compatibility / lockstep clients Ruby 3.2 (push) Successful in 1m4s
Candidate compatibility / lockstep clients Ruby 3.3 (push) Successful in 1m43s
Candidate compatibility / Gitea full exact image matrix (push) Successful in 1m48s
Watch upstream OpenCode / open-compatibility-pr (push) Failing after 12s
* Add explicit rollback bootstrap and maintenance model * Certify alpha8 production and rollback tuples
This commit is contained in:
76
evidence/2026-07-20-ajent-rails-alpha7-rollback.json
Normal file
76
evidence/2026-07-20-ajent-rails-alpha7-rollback.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"consumer": "ajent-rails",
|
||||
"profile": "rails-persisted-turn",
|
||||
"consumer_commit": "6caa0132e4b172777126ed537de99cb7e9758e0b",
|
||||
"consumer_tree": "29e6cd35313a06cef6f9c1f40a36e3ee582fd035",
|
||||
"status": "pass",
|
||||
"certified_at": "2026-07-20T08:14:53Z",
|
||||
"tuple_sha256": "sha256:ae48333ba453f442d14263a916418a384f576db34d09a503111fc28c340eb408",
|
||||
"clients": {
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha7",
|
||||
"commit": "78b6f9c9e9c7d58b699af1c3c17764acd33de798"
|
||||
},
|
||||
"opencode_rails": {
|
||||
"version": "0.0.1.alpha7",
|
||||
"commit": "2a391ccad1d098e4bb51eb19b6ca52adaa79e5cb"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"application_image": "docker-registry:5000/ajent_rails@sha256:fe6fdc2325d304ddb276df7d35807c183e7e574876a0d76a6c6de6014619c76e",
|
||||
"aigl_image": "docker-registry:5000/opencode-aigl@sha256:f4064cb8b7a0f680f076dba9c72ba8e63b1457227c9fad5aa1407f0e0aac12e7",
|
||||
"blackline_image": "docker-registry:5000/opencode-blackline@sha256:7b4ea4d70ff5fd35e3b17c571865dd6bb489217c7c00942e8569132fe2f749c8",
|
||||
"raven_image": "docker-registry:5000/opencode-raven@sha256:9fe37ee88d8b10165e17f5f2a5c47b2396256464e732b4ef49138fb92a1234e3",
|
||||
"reported_version": "1.18.3",
|
||||
"upstream_base": "ghcr.io/anomalyco/opencode@sha256:c2d5d6398df72aac85cb1bdc8f900c71a9b75a33fb7c0a76dc1484e4b126e41e"
|
||||
},
|
||||
"consumer_verification": {
|
||||
"test_runs": 4247,
|
||||
"assertions": 15740,
|
||||
"failures": 0,
|
||||
"errors": 0,
|
||||
"skips": 4,
|
||||
"rubocop_files": 1430,
|
||||
"status": "pass"
|
||||
},
|
||||
"application_canary": {
|
||||
"products": [
|
||||
{
|
||||
"id": "aigl",
|
||||
"agent": "travel-agent",
|
||||
"model": "openai-gpt-5.5",
|
||||
"final_text": "CANARY_OK",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"id": "blackline",
|
||||
"agent": "employment-lawyer",
|
||||
"model": "moonshot-kimi-k2.5",
|
||||
"final_text": "CANARY_OK",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"id": "raven",
|
||||
"agent": "raven-legal",
|
||||
"model": "moonshot-kimi-k2.5",
|
||||
"final_text": "CANARY_OK",
|
||||
"status": "pass"
|
||||
}
|
||||
],
|
||||
"session_cleanup_status": "pass",
|
||||
"status": "pass"
|
||||
},
|
||||
"source_availability": {
|
||||
"origin_ref": "refs/heads/opencode/opencode-alpha7-rollback-certified-20260720",
|
||||
"backup_ref": "refs/heads/opencode/opencode-alpha7-rollback-certified-20260720",
|
||||
"github_ref": "refs/heads/opencode/opencode-alpha7-rollback-certified-20260720",
|
||||
"status": "pass"
|
||||
},
|
||||
"rollback_operability": {
|
||||
"source_archived_on_all_remotes": true,
|
||||
"prebuilt_application_image_retained": true,
|
||||
"application_rebuild_required": false,
|
||||
"deployed": false
|
||||
}
|
||||
}
|
||||
80
evidence/2026-07-20-ajent-rails-alpha8-production.json
Normal file
80
evidence/2026-07-20-ajent-rails-alpha8-production.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"consumer": "ajent-rails",
|
||||
"profile": "rails-persisted-turn",
|
||||
"consumer_commit": "2ec8b879c5a34bb683fa5aaf26b998041d0e1264",
|
||||
"consumer_tree": "a1e044f3a4f5c5ac0510a1d998c4afb55286da5a",
|
||||
"status": "pass",
|
||||
"certified_at": "2026-07-20T08:15:17Z",
|
||||
"tuple_sha256": "sha256:326a87cdb67061bdd36dfcee989ae149511a0c627e857488d59e0f2b3c796720",
|
||||
"clients": {
|
||||
"publication_state": "unpublished",
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "9277646a4bb2cf25a8384ffc140b154f49ea5766"
|
||||
},
|
||||
"opencode_rails": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "a9add2a7c1dd3eb978aa8b4ebf9ef7e111d1057f"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"application_image": "docker-registry:5000/ajent_rails@sha256:c7b2c6f3c3ffb6af62069c3142a2d76e606b0794077b81c5464add2266b7c350",
|
||||
"aigl_image": "docker-registry:5000/opencode-aigl@sha256:f4064cb8b7a0f680f076dba9c72ba8e63b1457227c9fad5aa1407f0e0aac12e7",
|
||||
"blackline_image": "docker-registry:5000/opencode-blackline@sha256:7b4ea4d70ff5fd35e3b17c571865dd6bb489217c7c00942e8569132fe2f749c8",
|
||||
"raven_image": "docker-registry:5000/opencode-raven@sha256:9fe37ee88d8b10165e17f5f2a5c47b2396256464e732b4ef49138fb92a1234e3",
|
||||
"reported_version": "1.18.3",
|
||||
"upstream_base": "ghcr.io/anomalyco/opencode@sha256:c2d5d6398df72aac85cb1bdc8f900c71a9b75a33fb7c0a76dc1484e4b126e41e"
|
||||
},
|
||||
"forge_ci": {
|
||||
"pr_run_id": "2718",
|
||||
"main_build_run_id": "2719",
|
||||
"protected_main_run_id": "2720",
|
||||
"deploy_job_id": "12065",
|
||||
"completed_at": "2026-07-20T08:06:22Z",
|
||||
"status": "pass"
|
||||
},
|
||||
"application_canary": {
|
||||
"checked_at": "2026-07-20T08:15:17Z",
|
||||
"products": [
|
||||
{
|
||||
"id": "aigl",
|
||||
"agent": "travel-agent",
|
||||
"model": "openai-gpt-5.5",
|
||||
"final_text": "CANARY_OK",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"id": "blackline",
|
||||
"agent": "employment-lawyer",
|
||||
"model": "moonshot-kimi-k2.5",
|
||||
"final_text": "CANARY_OK",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"id": "raven",
|
||||
"agent": "raven-legal",
|
||||
"model": "moonshot-kimi-k2.5",
|
||||
"final_text": "CANARY_OK",
|
||||
"status": "pass"
|
||||
}
|
||||
],
|
||||
"session_cleanup_status": "pass",
|
||||
"status": "pass"
|
||||
},
|
||||
"production": {
|
||||
"checked_at": "2026-07-20T08:15:17Z",
|
||||
"application_health_status": 200,
|
||||
"blackline_health_status": 200,
|
||||
"ajent_public_status": 308,
|
||||
"voice_contract_status": "pass",
|
||||
"scotus_contract_status": "pass",
|
||||
"status": "pass"
|
||||
},
|
||||
"source_availability": {
|
||||
"origin_main": "2ec8b879c5a34bb683fa5aaf26b998041d0e1264",
|
||||
"backup_main": "2ec8b879c5a34bb683fa5aaf26b998041d0e1264",
|
||||
"github_main": "2ec8b879c5a34bb683fa5aaf26b998041d0e1264",
|
||||
"status": "pass"
|
||||
}
|
||||
}
|
||||
68
evidence/2026-07-20-mushu-alpha7-rollback.json
Normal file
68
evidence/2026-07-20-mushu-alpha7-rollback.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"consumer": "mushu",
|
||||
"profile": "ruby-rest-sse",
|
||||
"consumer_commit": "af2e9b0ce7ccacf49500450595a67c765a9d617a",
|
||||
"consumer_tree": "f43f48972ab444310508e9067831dfc6977f1a24",
|
||||
"status": "pass",
|
||||
"certified_at": "2026-07-20T06:39:46.921805Z",
|
||||
"tuple_sha256": "sha256:8d7d3cb2d3e2d920c900a9c1ada365026872904588cff0b166903d1d6d32183f",
|
||||
"clients": {
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha7",
|
||||
"commit": "78b6f9c9e9c7d58b699af1c3c17764acd33de798"
|
||||
},
|
||||
"opencode_rails": null
|
||||
},
|
||||
"runtime": {
|
||||
"registry_ref": "docker-registry:5000/mushu-opencode@sha256:ed6293ca87e6db1dc07870d3ed6da21960743e6e2e904533b3c566d334b58d6a",
|
||||
"base_image": "docker-registry:5000/mushu-opencode-base@sha256:de8a6adeefb30ce1c474cde23fe173dfe059434a13df0a54d14c7473edb33e16",
|
||||
"custom_opencode_source_commit": "99d6328b18ff8a340a928449a2aa8bc184a063f9",
|
||||
"build_source_commit": null,
|
||||
"reported_version": "0.0.0-permission-shortcuts-202606300721",
|
||||
"provenance_strength": "one-time-tag-source-attestation"
|
||||
},
|
||||
"source_availability": {
|
||||
"origin_ref": "refs/heads/review/mushu-opencode-alpha7-consumer-final-20260719",
|
||||
"backup_ref": "refs/heads/review/mushu-opencode-alpha7-consumer-final-20260719",
|
||||
"status": "archived"
|
||||
},
|
||||
"shared_contract": {
|
||||
"review_input": "opencode-compat-mushu-final-head.json",
|
||||
"review_input_path_at_capture": "/tmp/opencode-compat-mushu-final-head.json",
|
||||
"review_input_sha256": "sha256:57bf4b4f3c65159de4476b530aa0bc9b6077f1eacc69f7ea404f02314cb9760c",
|
||||
"status": "pass"
|
||||
},
|
||||
"application_canary": {
|
||||
"started_at": "2026-07-20T06:37:55Z",
|
||||
"completed_at": "2026-07-20T06:39:46.921805Z",
|
||||
"successful_turn_count": 13,
|
||||
"turn_count": 13,
|
||||
"successful_conversation_count": 6,
|
||||
"conversation_count": 6,
|
||||
"successful_mcp_context_count": 7,
|
||||
"mcp_context_count": 7,
|
||||
"database_sha256": "sha256:a567d2ff9a906c9b78831bb6fa43153af539f1e76ee63bf35961472f55651d74",
|
||||
"log_sha256": "sha256:a35a83b003a1f082b8a721b3faad8b35cb71dc9d1ceaedfc3cec3b26916e85b9",
|
||||
"clean_worktree": true,
|
||||
"status": "pass"
|
||||
},
|
||||
"raw_artifact_retention": "raw clean-worktree database and log artifacts are ephemeral; durable counts, hashes, and sanitized results are retained in this committed evidence document",
|
||||
"forge_ci": {
|
||||
"status": "not_run",
|
||||
"run_ids": [],
|
||||
"reason": "The frozen snapshot predates a runner-only empty-system-test repair. Earlier runs 2588 and 2590 tested different commits and are deliberately not attributed to this tuple."
|
||||
},
|
||||
"rollback_operability": {
|
||||
"source_archived_on_all_remotes": true,
|
||||
"prebuilt_application_image_retained": false,
|
||||
"application_rebuild_required": true,
|
||||
"immediate_platform_rollback_is_certified_tuple": false,
|
||||
"immediate_platform_rollback_commit": "82ca30b18e1f38b55e2bed91cbd46f1eaf4a5922",
|
||||
"reason": "The retained one-click application rollback uses alpha2 and the old runtime; the certified compatibility rollback is this alpha7 source tuple."
|
||||
},
|
||||
"limitations": [
|
||||
"The old runtime image metadata does not recover an exact Mushu overlay-build commit.",
|
||||
"No exact-head forge run is claimed; the clean-worktree full application canary is the application evidence."
|
||||
]
|
||||
}
|
||||
87
evidence/2026-07-20-mushu-alpha8-production.json
Normal file
87
evidence/2026-07-20-mushu-alpha8-production.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"consumer": "mushu",
|
||||
"profile": "ruby-rest-sse",
|
||||
"consumer_commit": "3f6754caab3f66537a5834f44ee63c1f05ecb047",
|
||||
"consumer_tree": "726c3878e71f7a4cf8c0b8a3fa8fc15382bbab45",
|
||||
"status": "pass",
|
||||
"certified_at": "2026-07-20T07:13:51Z",
|
||||
"tuple_sha256": "sha256:804410a63cf2b6e4056d6dd9ce289ac72464f441c9785b6fc8dd50016263a1a8",
|
||||
"clients": {
|
||||
"publication_state": "unpublished",
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "9277646a4bb2cf25a8384ffc140b154f49ea5766"
|
||||
},
|
||||
"opencode_rails": null
|
||||
},
|
||||
"runtime": {
|
||||
"registry_ref": "docker-registry:5000/mushu-opencode@sha256:a16bf0c4cd17698eba02244f6ba0e429b2238b6455e1415ff69fb08965c863a7",
|
||||
"base_image": "docker-registry:5000/mushu-opencode-base@sha256:de8a6adeefb30ce1c474cde23fe173dfe059434a13df0a54d14c7473edb33e16",
|
||||
"custom_opencode_source_commit": "99d6328b18ff8a340a928449a2aa8bc184a063f9",
|
||||
"build_source_commit": "521185613a864a16a76a21c7a60597ab3973bae9",
|
||||
"reported_version": "0.0.0-permission-shortcuts-202606300721"
|
||||
},
|
||||
"forge_ci": {
|
||||
"pr": {
|
||||
"run_id": "2700",
|
||||
"job_ids": ["11903", "11904", "11905", "11906", "11907"],
|
||||
"status": "pass",
|
||||
"started_at": "2026-07-20T06:29:41Z",
|
||||
"completed_at": "2026-07-20T06:41:14Z"
|
||||
},
|
||||
"main": {
|
||||
"run_id": "2705",
|
||||
"job_ids": ["11934", "11935", "11936", "11937", "11938"],
|
||||
"status": "pass",
|
||||
"started_at": "2026-07-20T06:43:03Z",
|
||||
"completed_at": "2026-07-20T06:54:58Z"
|
||||
}
|
||||
},
|
||||
"shared_contract": {
|
||||
"review_input_path_at_capture": "/tmp/opencode-alpha8-mushu-permission-shortcuts.json",
|
||||
"review_input_sha256": "sha256:6be88f0929815fa80839687e357473b232830aca4ccd1686f2a38ac9381088de",
|
||||
"durable_ci_evidence": "evidence/2026-07-20-opencode-alpha8-shared-client-ci.json",
|
||||
"status": "pass"
|
||||
},
|
||||
"preproduction_canary": {
|
||||
"successful_turn_count": 13,
|
||||
"turn_count": 13,
|
||||
"successful_conversation_count": 6,
|
||||
"conversation_count": 6,
|
||||
"successful_mcp_context_count": 2,
|
||||
"mcp_context_count": 2,
|
||||
"database_sha256": "sha256:7fbe32ff9621196a2504aeba5eca78cb0c9c670edd7a1168b1f81f667872e2b6",
|
||||
"log_path_at_capture": "tmp/alpha8-canary-rails.log",
|
||||
"log_sha256": "sha256:51b698fcc8b7bce68e79cbae10997e19eb47a88985cbe24871d10740dda26225",
|
||||
"status": "pass"
|
||||
},
|
||||
"raw_artifact_retention": "raw clean-worktree database and log artifacts are ephemeral; durable counts, hashes, and sanitized results are retained in this committed evidence document",
|
||||
"application_canary": {
|
||||
"started_at": "2026-07-20T07:03:17Z",
|
||||
"completed_at": "2026-07-20T07:04:51.376351Z",
|
||||
"successful_turn_count": 13,
|
||||
"turn_count": 13,
|
||||
"successful_conversation_count": 6,
|
||||
"conversation_count": 6,
|
||||
"successful_mcp_context_count": 1,
|
||||
"mcp_context_count": 1,
|
||||
"status": "pass"
|
||||
},
|
||||
"production": {
|
||||
"checked_at": "2026-07-20T07:13:20Z",
|
||||
"application_tag_provenance": "docker-registry:5000/mushu:3f6754caab3f66537a5834f44ee63c1f05ecb047",
|
||||
"application_image": "docker-registry:5000/mushu@sha256:30f204184520d504c7c384c7f6e503fa3547217aaaef2f1d0d65884533bdeacd",
|
||||
"web_health_status": 200,
|
||||
"status_health_status": 200,
|
||||
"runtime_readiness": "ready",
|
||||
"containers": ["web", "calendar", "telegram", "opencode"],
|
||||
"deployment_mode": "manual",
|
||||
"status": "pass"
|
||||
},
|
||||
"rollback_operability": {
|
||||
"certified_previous_consumer_commit": "af2e9b0ce7ccacf49500450595a67c765a9d617a",
|
||||
"immediate_platform_rollback_is_certified_tuple": false,
|
||||
"immediate_platform_rollback_commit": "82ca30b18e1f38b55e2bed91cbd46f1eaf4a5922"
|
||||
}
|
||||
}
|
||||
107
evidence/2026-07-20-opencode-alpha8-shared-client-ci.json
Normal file
107
evidence/2026-07-20-opencode-alpha8-shared-client-ci.json
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"kind": "shared-client-and-lockstep-certification",
|
||||
"status": "pass",
|
||||
"certification_scope": "shared-ruby-rest-sse-and-rails-lockstep",
|
||||
"publication_state": "unpublished",
|
||||
"clients": {
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "9277646a4bb2cf25a8384ffc140b154f49ea5766"
|
||||
},
|
||||
"opencode_rails": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "a9add2a7c1dd3eb978aa8b4ebf9ef7e111d1057f",
|
||||
"runtime_opencode_ruby_commit": "9277646a4bb2cf25a8384ffc140b154f49ea5766"
|
||||
}
|
||||
},
|
||||
"github_workflow": {
|
||||
"run_id": "29725021192",
|
||||
"run_attempt": "1",
|
||||
"head_sha": "328fa39c557d598ad09b270ad1ceab19901031cd",
|
||||
"repository": "ajaynomics/opencode-compat",
|
||||
"run_url": "https://github.com/ajaynomics/opencode-compat/actions/runs/29725021192",
|
||||
"completed_at": "2026-07-20T07:34:59Z",
|
||||
"status": "pass",
|
||||
"artifact_retention_days": 30
|
||||
},
|
||||
"gitea_workflow": {
|
||||
"run_id": "2717",
|
||||
"head_sha": "328fa39c557d598ad09b270ad1ceab19901031cd",
|
||||
"repository": "ajaynomics/opencode-compat",
|
||||
"run_url": "https://gitea.ajay.to/ajaynomics/opencode-compat/actions/runs/2717",
|
||||
"completed_at": "2026-07-20T07:36:06Z",
|
||||
"status": "pass",
|
||||
"artifact_evidence_claimed": false
|
||||
},
|
||||
"fixture_contract": {
|
||||
"checked_at": "2026-07-20T07:34:34Z",
|
||||
"fixture_count": 7,
|
||||
"status": "pass"
|
||||
},
|
||||
"rails_lockstep": [
|
||||
{
|
||||
"ruby_runtime_version": "3.2.11",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"ruby_runtime_version": "3.3.12",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"ruby_runtime_version": "3.4.10",
|
||||
"status": "pass"
|
||||
},
|
||||
{
|
||||
"ruby_runtime_version": "4.0.6",
|
||||
"status": "pass"
|
||||
}
|
||||
],
|
||||
"exact_image_contracts": [
|
||||
{
|
||||
"id": "upstream-1.16.1",
|
||||
"checked_at": "2026-07-20T07:34:50Z",
|
||||
"image": "ghcr.io/anomalyco/opencode@sha256:e975a0647576016dfdf77d54b979ca30d32b4750472c10263e9894aad6628c2a",
|
||||
"reported_version": "1.16.1",
|
||||
"status": "pass",
|
||||
"expected_text": "compat-ok",
|
||||
"full_text": "compat-ok",
|
||||
"authoritative_assistant_message_count": 1,
|
||||
"llm_request_count": 1,
|
||||
"executed_profiles": ["ruby-rest-sse"],
|
||||
"required_consumer_profiles": ["rails-persisted-turn"]
|
||||
},
|
||||
{
|
||||
"id": "upstream-1.17.18",
|
||||
"checked_at": "2026-07-20T07:34:55Z",
|
||||
"image": "ghcr.io/anomalyco/opencode@sha256:bf9d0e84b7cedef436a8f57db4d48767cd5d8fc6604f666335c1cc916b199a97",
|
||||
"reported_version": "1.17.18",
|
||||
"status": "pass",
|
||||
"expected_text": "compat-ok",
|
||||
"full_text": "compat-ok",
|
||||
"authoritative_assistant_message_count": 1,
|
||||
"llm_request_count": 1,
|
||||
"executed_profiles": ["ruby-rest-sse"],
|
||||
"required_consumer_profiles": ["plugin-ledger"]
|
||||
},
|
||||
{
|
||||
"id": "upstream-1.18.3",
|
||||
"checked_at": "2026-07-20T07:34:48Z",
|
||||
"image": "ghcr.io/anomalyco/opencode@sha256:c2d5d6398df72aac85cb1bdc8f900c71a9b75a33fb7c0a76dc1484e4b126e41e",
|
||||
"reported_version": "1.18.3",
|
||||
"status": "pass",
|
||||
"expected_text": "compat-ok",
|
||||
"full_text": "compat-ok",
|
||||
"authoritative_assistant_message_count": 1,
|
||||
"llm_request_count": 1,
|
||||
"executed_profiles": ["ruby-rest-sse"],
|
||||
"required_consumer_profiles": ["rails-persisted-turn", "plugin-ledger"]
|
||||
}
|
||||
],
|
||||
"certified_at": "2026-07-20T07:36:06Z",
|
||||
"limitations": [
|
||||
"The exact-image contracts execute opencode-ruby, not opencode-rails.",
|
||||
"Rails persistence and each consumer application profile require separate passing evidence.",
|
||||
"The exact client commits are certified candidates but remain unpublished until RubyGems trusted publishers are configured and registry publication is verified."
|
||||
]
|
||||
}
|
||||
73
evidence/2026-07-20-travelwolf-alpha7-rollback.json
Normal file
73
evidence/2026-07-20-travelwolf-alpha7-rollback.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"consumer": "travelwolf",
|
||||
"profile": "rails-persisted-turn",
|
||||
"consumer_commit": "531011defe4acc45a15ffe44a8e9da9cb610aaac",
|
||||
"consumer_tree": "d0e47b2d90ace87c6cc9c4b94b2f22987441c1f6",
|
||||
"status": "pass",
|
||||
"certified_at": "2026-07-20T06:31:42Z",
|
||||
"tuple_sha256": "sha256:20ecec3d2c3743efcd8575e71ec46dd7b86c2865e472511d16a96d57ddb8b40c",
|
||||
"clients": {
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha7",
|
||||
"commit": "78b6f9c9e9c7d58b699af1c3c17764acd33de798"
|
||||
},
|
||||
"opencode_rails": {
|
||||
"version": "0.0.1.alpha7",
|
||||
"commit": "2a391ccad1d098e4bb51eb19b6ca52adaa79e5cb"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"image": "ghcr.io/anomalyco/opencode@sha256:e975a0647576016dfdf77d54b979ca30d32b4750472c10263e9894aad6628c2a",
|
||||
"reported_version": "1.16.1"
|
||||
},
|
||||
"forge_ci": {
|
||||
"pr": {
|
||||
"run_id": "2696",
|
||||
"job_id": "11898",
|
||||
"status": "pass",
|
||||
"started_at": "2026-07-20T06:20:57Z",
|
||||
"completed_at": "2026-07-20T06:23:32Z"
|
||||
},
|
||||
"main": {
|
||||
"run_id": "2698",
|
||||
"job_id": "11900",
|
||||
"status": "pass",
|
||||
"started_at": "2026-07-20T06:23:58Z",
|
||||
"completed_at": "2026-07-20T06:25:49Z"
|
||||
}
|
||||
},
|
||||
"shared_contract": {
|
||||
"artifact": "opencode-alpha7-shared-contract-531011de.json",
|
||||
"source_path_at_capture": "/data/projects/travelwolf/.worktrees/opencode-alpha8-candidate-20260720/tmp/opencode-alpha7-shared-contract-531011de.json",
|
||||
"artifact_sha256": "sha256:12cef4d8b713f32289dc98ce3a0a3ef2094a54205a160d3a5b4bcfc81f2805c9",
|
||||
"expected_text": "compat-ok",
|
||||
"full_text": "compat-ok",
|
||||
"authoritative_assistant_message_count": 1,
|
||||
"llm_request_count": 1,
|
||||
"status": "pass"
|
||||
},
|
||||
"application_canary": {
|
||||
"artifact": "opencode-alpha7-application-531011de.json",
|
||||
"source_path_at_capture": "/data/projects/travelwolf/.worktrees/opencode-alpha8-candidate-20260720/tmp/opencode-alpha7-application-531011de.json",
|
||||
"artifact_sha256": "sha256:5f5693bba27a16bc703c3211827a09171c77d5f9ef1acf6def1917df43a6cebc",
|
||||
"checked_at": "2026-07-20T06:22:36.958Z",
|
||||
"final_text": "TRAVELWOLF_ALPHA7_CANARY_OK",
|
||||
"application_prompt_count": 1,
|
||||
"user_turn_count": 1,
|
||||
"authoritative_assistant_turn_count": 1,
|
||||
"child_turn_count": 0,
|
||||
"model_request_count_observed": false,
|
||||
"cleanup_status": "pass",
|
||||
"status": "pass"
|
||||
},
|
||||
"raw_artifact_retention": "ephemeral clean-worktree files; durable sanitized results and hashes are retained in this committed evidence document",
|
||||
"rollback_operability": {
|
||||
"source_archived_on_all_remotes": true,
|
||||
"prebuilt_application_image_retained": false,
|
||||
"application_rebuild_required": true,
|
||||
"immediate_platform_rollback_is_certified_tuple": false,
|
||||
"immediate_platform_rollback_commit": "8494c52d11bf2995c378398e977d82d06a09e046",
|
||||
"reason": "The retained one-click application rollback uses alpha6 clients; the certified compatibility rollback is this alpha7 source tuple."
|
||||
}
|
||||
}
|
||||
84
evidence/2026-07-20-travelwolf-alpha8-production.json
Normal file
84
evidence/2026-07-20-travelwolf-alpha8-production.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"consumer": "travelwolf",
|
||||
"profile": "rails-persisted-turn",
|
||||
"consumer_commit": "02aed70eb4de201c6510e3be583699f8eb984ce7",
|
||||
"consumer_tree": "f436a7248d90e5ae9e84c45f264acd913a4162aa",
|
||||
"status": "pass",
|
||||
"certified_at": "2026-07-20T06:51:48Z",
|
||||
"tuple_sha256": "sha256:0321c4246bed6ab62587924a83204a9e2ca7517b1dec5e4aef35dcac400fcc8e",
|
||||
"clients": {
|
||||
"publication_state": "unpublished",
|
||||
"opencode_ruby": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "9277646a4bb2cf25a8384ffc140b154f49ea5766"
|
||||
},
|
||||
"opencode_rails": {
|
||||
"version": "0.0.1.alpha8",
|
||||
"commit": "a9add2a7c1dd3eb978aa8b4ebf9ef7e111d1057f"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"image": "ghcr.io/anomalyco/opencode@sha256:e975a0647576016dfdf77d54b979ca30d32b4750472c10263e9894aad6628c2a",
|
||||
"reported_version": "1.16.1"
|
||||
},
|
||||
"forge_ci": {
|
||||
"pr": {
|
||||
"run_id": "2702",
|
||||
"job_id": "11920",
|
||||
"status": "pass",
|
||||
"started_at": "2026-07-20T06:33:58Z",
|
||||
"completed_at": "2026-07-20T06:35:29Z"
|
||||
},
|
||||
"main": {
|
||||
"run_id": "2704",
|
||||
"job_id": "11933",
|
||||
"status": "pass",
|
||||
"started_at": "2026-07-20T06:36:57Z",
|
||||
"completed_at": "2026-07-20T06:38:11Z"
|
||||
}
|
||||
},
|
||||
"shared_contract": {
|
||||
"review_input_path_at_capture": "/data/projects/travelwolf/.worktrees/opencode-alpha8-candidate-20260720/tmp/opencode-alpha8-shared-contract-02aed70e.json",
|
||||
"review_input_sha256": "sha256:f63edbafba8fb7646d1c88e33472636af56770110d920006211b4ff3f115b977",
|
||||
"durable_ci_evidence": "evidence/2026-07-20-opencode-alpha8-shared-client-ci.json",
|
||||
"expected_text": "compat-ok",
|
||||
"full_text": "compat-ok",
|
||||
"authoritative_assistant_message_count": 1,
|
||||
"llm_request_count": 1,
|
||||
"status": "pass"
|
||||
},
|
||||
"application_canary": {
|
||||
"review_input_path_at_capture": "/data/projects/travelwolf/.worktrees/opencode-alpha8-candidate-20260720/tmp/opencode-alpha8-application-02aed70e.json",
|
||||
"review_input_sha256": "sha256:6f4dfe14a74bb84c13cf566302222f737603d2fbafa7231c7bb332a2567bca24",
|
||||
"offline_input_path_at_capture": "/data/projects/travelwolf/.worktrees/opencode-alpha8-candidate-20260720/tmp/opencode-alpha8-offline-contract-02aed70e.json",
|
||||
"offline_input_sha256": "sha256:4e8157fbb44d6fd0346bea79aee1271e400cd7fde57bc8a45afa77250134029c",
|
||||
"checked_at": "2026-07-20T06:31:13.506Z",
|
||||
"final_text": "TRAVELWOLF_ALPHA8_CANARY_OK",
|
||||
"application_prompt_count": 1,
|
||||
"user_turn_count": 1,
|
||||
"authoritative_assistant_turn_count": 1,
|
||||
"child_turn_count": 0,
|
||||
"model_request_count_observed": false,
|
||||
"cleanup_status": "pass",
|
||||
"status": "pass"
|
||||
},
|
||||
"raw_artifact_retention": "ephemeral clean-worktree files; durable sanitized results and hashes are retained in this committed evidence document",
|
||||
"production": {
|
||||
"checked_at": "2026-07-20T06:51:48Z",
|
||||
"application_tag_provenance": "127.0.0.1:5000/travelwolf:02aed70eb4de201c6510e3be583699f8eb984ce7",
|
||||
"application_image_id": "sha256:031371e20f34e1014712ddc668b4e182483664bb70f116b683c0ec83d6668338",
|
||||
"application_image_created_at": "2026-07-20T06:42:55.929825054Z",
|
||||
"internal_health_status": 200,
|
||||
"authenticated_public_health_status": 200,
|
||||
"container_status": "running",
|
||||
"deployment_mode": "manual-isolated-kamal",
|
||||
"status": "pass"
|
||||
},
|
||||
"rollback_operability": {
|
||||
"certified_previous_consumer_commit": "531011defe4acc45a15ffe44a8e9da9cb610aaac",
|
||||
"immediate_platform_rollback_is_certified_tuple": false,
|
||||
"immediate_platform_rollback_commit": "8494c52d11bf2995c378398e977d82d06a09e046",
|
||||
"immediate_platform_rollback_image_id": "sha256:4291b256b37eeb694435093655db17154c837e53335b8d0eb8f1b07a744e856e"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user