Skip to content

feat(ops): Tenkai product declares the contract Kako provides - #128

Merged
Sannrox merged 1 commit into
mainfrom
feat/124
Nov 11, 2026
Merged

Sannrox merged 1 commit into
mainfrom
feat/124

Conversation

@Sannrox

@Sannrox Sannrox commented Nov 11, 2026

Copy link
Copy Markdown
Owner

Closes #124

The Tenkai product entry now provides the job-submission contract dependents
already require. deploy/tenkai.toml ends with a profile v2 block that
provides "kako.jobs" = "1.0.0". That version is generated from the shipped
JSON job document (JobFile / ScoringFile). scripts/validate-release.sh
refuses a product whose profile does not match.

Reuse decision

Reuse Tenkai [compatibility] v2 provides and the generate-then-check
pattern already used by sibling products. The new edge is kako's job-document
field map plus the committed deploy/tenkai.toml. Contract id is kako.jobs
so existing optional requires stay valid. No Tenkai client and no new
job-submit endpoint.

Lane

  • claim branch: feat/124
  • worktree: .worktrees/issue-124
  • base SHA: 8412d31207a90c64034529977d2337300c122f4d
  • published SHA: 9834427405c5a5aeca31661921d68c9215515820
  • authority: land

Verification

  • cargo fmt --all -- --check
  • cargo build --locked --workspace --all-targets
  • cargo clippy --locked --workspace --all-targets -- -D warnings
  • cargo clippy --locked -p kako-source-sekai --features sekai-client --all-targets -- -D warnings
  • cargo test --locked --workspace
  • cargo test --locked -p kako-source-sekai --features sekai-client
  • bash scripts/validate-workflow-skills.sh
  • python3 scripts/adr-index --check
  • bash scripts/validate-release.sh (prints tenkai-profile: kako.jobs 1.0.0 ok)

Focused coverage in crates/kako/tests/release_packaging.rs and
kako::job_contract unit tests: committed product matches the generated v2
profile; a mutated provides-version, contract id, or profile version is
refused; Python parse of JobFile agrees with the Rust field list.

Autoreview

AUTOREVIEW_CODEX_CONFIG=model_provider=cliproxyapi "$AUTOREVIEW" --mode local --engine codex

Clean: no accepted/actionable findings.

Simplify-change

Kept the dual generators (Rust for in-crate tests, Python for
validate-release.sh with no cargo). Kept the explicit version-table match
arm so editing the live field list fails closed instead of silently staying
at 1.0.0. Dropped nothing else from the Issue.

Compatibility

  • Product version stays 0.1.0; the contract version is independent.
  • Profile version = 2 is required by Tenkai ADR 0043. Servers older than
    profile v2 refuse this manifest.
  • kako declares provides only. Dependents keep their own optional
    requires.
  • JobSource, sandbox, engines, and the job document schema are unchanged.

Validate-behavior

Skipped: no operator-facing UI, CLI, or HTTP flow. Acceptance is the
committed profile and the release check, covered by the tests above.

Agent Transcript

Goal: Land kako #124 so the Tenkai product provides kako.jobs at a generated stable version.

Key decisions:

  • Contract id kako.jobs at 1.0.0 so dependents' existing optional requires stay valid.
  • Pin is a digest of kako@<product.version>, matching sibling generate-then-check.
  • Dual generators: Rust for tests, Python parse of JobFile for validate-release.sh.

Changes made:

  • deploy/tenkai.toml: profile v2 provides "kako.jobs" = "1.0.0".
  • kako::job_contract plus scripts/tenkai-profile.py: generate and check.
  • Release packaging tests drive both generators; stale stand-ins are refused.
  • README, RELEASING, ADR 0008: product provides the job-submission contract.

Verification:

  • Local AGENTS.md gates: passed.
  • validate-release.sh: passed.
  • Autoreview local/codex: clean.

Skipped/deferred:

  • No CHANGELOG or workspace version bump (release-owned).
  • No new HTTP job-submit endpoint.

Generate the Tenkai profile v2 block from the shipped job document
and refuse a deploy/tenkai.toml that does not match. Dependents
require kako.jobs at 1.0.0.
@Sannrox
Sannrox marked this pull request as ready for review November 11, 2026 12:13
@Sannrox
Sannrox merged commit 5f8aa37 into main Nov 11, 2026
12 checks passed
@Sannrox
Sannrox deleted the feat/124 branch November 11, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ops): Tenkai product declares the contract Kako provides

1 participant