Skip to content
Merged
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
341 changes: 341 additions & 0 deletions .agents/plugins/evaluations/contentcloud-video-production-0.17.0.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"plugin": {
"id": "contentcloud-video-production",
"version": "0.6.0",
"digest": "sha256:14076c0a2dd8031589e6e5904cc13bd63f14fe8ad23d54b208aa4dbde7bbb326"
"digest": "sha256:0bfd835b8ff141b7a45f699f2fd2f4513f87bfaf7d570917cf46d416ba65378a"
},
"scope": "deterministic_release_contract",
"status": "passed",
Expand Down Expand Up @@ -52,10 +52,17 @@
"status": "passed"
},
{
"id": "script-contract",
"requirement": "Script packages enforce explicit arrays, blocked reasons, approved references, and declared revision drift before publish or export.",
"command": ["go", "test", "-v", "./internal/localworkspace", "./internal/cli", "-run", "^(TestScriptRevisionDiffRejectsUndeclaredDrift|TestScriptLintRequiresExplicitArraysAndBlockedReasons|TestPublishPreflightAllowsBlockedScriptOnlyWithReasons|TestPublishPreflightRejectsBriefThatSkippedLocalLint)$"],
"evidence": ["TestScriptRevisionDiffRejectsUndeclaredDrift", "TestScriptLintRequiresExplicitArraysAndBlockedReasons", "TestPublishPreflightAllowsBlockedScriptOnlyWithReasons", "TestPublishPreflightRejectsBriefThatSkippedLocalLint"],
"id": "content-contract",
"requirement": "ContentItem and ContentBatch contracts enforce explicit arrays, blocked reasons, approved references, and declared revision drift before publish or export.",
"command": ["go", "test", "-v", "./internal/localworkspace", "./internal/cli", "-run", "^(TestContentItemRevisionDiffRejectsUndeclaredDrift|TestContentItemLintRequiresExplicitArraysAndBlockedReasons|TestPublishPreflightUsesContentBatchManifestAndAllowsBlockedItems|TestPublishPreflightRejectsBriefThatSkippedLocalLint)$"],
"evidence": ["TestContentItemRevisionDiffRejectsUndeclaredDrift", "TestContentItemLintRequiresExplicitArraysAndBlockedReasons", "TestPublishPreflightUsesContentBatchManifestAndAllowsBlockedItems", "TestPublishPreflightRejectsBriefThatSkippedLocalLint"],
"status": "passed"
},
{
"id": "browser-navigation-safety",
"requirement": "View intent remains read-only, arbitrary targets and page-provided instructions are rejected, Tool success is distinct from verified Browser success, and unavailable Browser/link outcomes do not rewrite the underlying business result.",
"command": ["go", "test", "-v", "./plugins/contentcloud-video-production/skills", "./internal/cli", "-run", "^(TestWorkspaceSkillBrowserSafetyContract|TestWorkspaceSkillBrowserEvalCases|TestMCPOpenProjectViewReturnsTrustedResourceLink|TestMCPOpenProjectViewRejectsUnsafeInputs|TestMCPWorkspaceToolLinkFailureDoesNotReverseBusinessSuccess|TestMCPProjectViewTargetSelectionDoesNotInventObjectPrecision)$"],
"evidence": ["TestWorkspaceSkillBrowserSafetyContract", "TestWorkspaceSkillBrowserEvalCases", "TestMCPOpenProjectViewReturnsTrustedResourceLink", "TestMCPOpenProjectViewRejectsUnsafeInputs", "TestMCPWorkspaceToolLinkFailureDoesNotReverseBusinessSuccess", "TestMCPProjectViewTargetSelectionDoesNotInventObjectPrecision"],
"status": "passed"
},
{
Expand All @@ -67,7 +74,8 @@
}
],
"limitations": [
"Codex Desktop host loading, Deep Link behavior, and session boundaries remain separate W0 smoke-test gates.",
"The deterministic Browser trace evaluation does not replace model-sampled Skill behavior or the ChatGPT Desktop Browser W4-01 host gate.",
"Codex Desktop host loading, Deep Link behavior, authentication profile, and session boundaries remain separate W4 smoke-test gates.",
"The report does not use production credentials, publish release artifacts, or contact production services.",
"Optional future Skill and Provider Packs require their own creative-quality evaluations under W5-06."
]
Expand Down
12 changes: 6 additions & 6 deletions .agents/plugins/registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@
{
"id": "contentcloud-video-production",
"kind": "scene_plugin",
"version": "0.16.0",
"version": "0.17.0",
"source": {
"repository": "https://github.com/limecloud/contentcloud",
"ref": "v0.16.0"
"ref": "v0.17.0"
},
"license": "Apache-2.0",
"digest": "sha256:8eea682fccb5ada1f305cc36f420a43aac0571e2d99f455d2c0d0f217e8ab7e2",
"digest": "sha256:8d5f06219a3c504722666ff6c06b6a94b8aab8dfbd68cfb129ae4a3f3934c0da",
"signature": {
"status": "verified",
"algorithm": "ed25519",
"key_id": "contentcloud-plugin-release-2026-07",
"value": "3FwSNChijogbh4pDRMzZqedUH/BzMTEDyfzDiRvZgijgk4HiFkPJ/BbYh4qufmws6/gxGKAyC5LGb8i4NrRRAQ=="
"value": "tXZAOtZjAVxXXqJmx2RIPx12Ppua9s+Y5Q6mdm2Zfm5sITaDt8c/lOcOTFPirNufbPIU7MONjLZlycoxlG4nDw=="
},
"compatible_profiles": [
"contentcloud.video-production"
Expand Down Expand Up @@ -54,8 +54,8 @@
],
"evaluation": {
"status": "passed",
"report": ".agents/plugins/evaluations/contentcloud-video-production-0.16.0.json",
"digest": "sha256:430d9e0c233d8745934a699c68423185955fa52acd276771382b4c9512e29402",
"report": ".agents/plugins/evaluations/contentcloud-video-production-0.17.0.json",
"digest": "sha256:4d8e32cef37f5053ce7409e901d2ef02cda88f3cf5f00d03104ed7b1a174c11e",
"evidence": [
"codex-plugin-transaction",
"bootstrap-confirmation",
Expand Down
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,23 @@

ContentCloud 的重要变更记录在此文件中。

## [0.17.0] - 2026-08-04

### Added

- 增加知识对象治理视图,按版本、项目状态、角色、对象类型和 Evidence 完整度返回明确的允许动作与治理说明。
- 增加可验证的真实 MP4 测试夹具、扩展 box 与末尾 box 解析覆盖,以及 V7 开发 Fixture。

### Changed

- Knowledge 列表、管理后台和工作区统一展示审核、只读、历史、待补证据和待解决冲突状态。
- 媒体 Provider 校验使用嵌入式视频 Fixture,并收紧下载内容的容器、大小和摘要验证。
- Server、Worker、Web、CLI、Plugin、MCP 和 Environment Profile 统一升级到 `0.17.0`。

### Fixed

- 修复历史知识版本或归档项目仍暴露治理动作,以及合法 MP4 扩展 box 被误判为无效容器的问题。

## [0.16.0] - 2026-08-04

### Added
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.16.0
0.17.0
2 changes: 1 addition & 1 deletion deploy/systemd/contentcloud.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ CONTENTCLOUD_PLUGIN_TRUST_FILE=/etc/contentcloud/plugin-trusted-keys.json
CONTENTCLOUD_ENVIRONMENT_TRUST_FILE=/etc/contentcloud/environment-trusted-keys.json
CONTENTCLOUD_ENVIRONMENT_SIGNING_KEY_FILE=/etc/contentcloud/secrets/environment-ed25519.key
CONTENTCLOUD_ENVIRONMENT_SIGNING_KEY_ID=contentcloud-environment-2026-07
CONTENTCLOUD_CAPABILITY_RELEASE_VERSION=0.16.0
CONTENTCLOUD_CAPABILITY_RELEASE_VERSION=0.17.0
CONTENTCLOUD_ENVIRONMENT_MANIFEST_TTL=24h
2 changes: 1 addition & 1 deletion deploy/systemd/environment-profile.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
{
"id": "contentcloud-video-production",
"kind": "scene_plugin",
"version": "0.16.0",
"version": "0.17.0",
"required": true,
"scope": "environment",
"capabilities": [
Expand Down
2 changes: 1 addition & 1 deletion docs/roadmap/v6/02-runtime-and-content-packs.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Content Pack 不能把领域事实藏在 prompt 中。Prompt 只能编排已声
{
"tenant_id": "tenant_x",
"workspace_id": "workspace_x",
"runtime": {"client": "codex", "version": "0.16.0", "status": "ready"},
"runtime": {"client": "codex", "version": "0.17.0", "status": "ready"},
"content_packs": [
{"id": "video_script", "state": "enabled", "digest": "sha256:..."},
{"id": "wechat_article", "state": "disabled", "reason_code": "tenant_not_enabled"}
Expand Down
4 changes: 2 additions & 2 deletions internal/app/automation_environment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,14 @@ func TestAutomationPollRequiresVerifiedEnvironmentPackAndCapabilityBeforeLease(t
assertDomainCode(t, err, "ENVIRONMENT_PREPARATION_REQUIRED")
assertRunUnleased(t, ctx, service, store, actor, run.ID)

lease, err := service.PollWithRuntime(ctx, deviceActor, device, []domain.Capability{capability}, []app.AutomationEnvironmentClaim{{Manifest: manifest, Lock: lock}}, "0.16.0")
lease, err := service.PollWithRuntime(ctx, deviceActor, device, []domain.Capability{capability}, []app.AutomationEnvironmentClaim{{Manifest: manifest, Lock: lock}}, "0.17.0")
must(t, err)
if lease.Run.ID != run.ID || lease.ExecutionBundle == nil || lease.ExecutionBundle.BundleID != bundle.BundleID || lease.Attempt.CapabilityDigest != requirement.Digest {
t.Fatalf("verified environment did not receive the exact bundle-bound lease: %#v", lease)
}
devices, err := service.Devices(ctx, actor, project.ID)
must(t, err)
if len(devices) != 1 || devices[0].Version != "0.16.0" {
if len(devices) != 1 || devices[0].Version != "0.17.0" {
t.Fatalf("daemon poll did not refresh the running CLI version: %#v", devices)
}
verifier, err := environment.NewVerifier([]environment.TrustedKey{{KeyID: "environment-automation-test", Status: "active", PublicKey: publicKey}})
Expand Down
Loading
Loading