feat: compile private personal channel skill brains

This commit is contained in:
冰朔 2026-08-21 00:46:56 +08:00
commit 4c9f3674a0
15 changed files with 718 additions and 0 deletions

View file

@ -0,0 +1,30 @@
{
"schema": "guanghu.personal-channel-skill/v1",
"skill_id": "JZ-CX-LOCAL-AI-WORKBENCH-001",
"name": "桔子×晨星·手搓飞机本地智能工作台技能脑",
"version": "0.1.0",
"status": "PRIVATE_CANDIDATE",
"owner_human_anchor": "TCS-GL-0008∞",
"channel_id": "SYS-JZ",
"custodian_persona_id": "PER-CX001",
"visibility": "PRIVATE",
"share_state": "NOT_AUTHORIZED",
"marketplace_state": "NOT_AUTHORIZED",
"provenance": {
"evidence_grade": "B_CODE_DELIVERY_C_PLUS_RUNTIME_READBACK",
"source_page_ids": ["9f6d640b6a36455e8e94e651e03333db", "0ea96d1a60e245e0ad1efd66baa70ba1", "eee50aa393c049fdb15d920ab2ad859c", "1b9abe377abf4991b01497eeb8e4afc4", "1f613fc900d04305924a22d9464a00e8", "18579582e336485985984c1bf8a47460"],
"observed_components": ["FastAPI routes", "SQLite conversations/memory/knowledge/progress", "registered Notion tools", "bounded five-round tool loop", "SSE output", "interaction writeback"],
"known_gaps": ["web search route explicitly returns an unimplemented result", "broad exception swallowing hides failures", "current pages do not provide a fresh live end-to-end readback"],
"excluded": ["晨星身份 prompt", "family relationship prompt", "API keys", "hard-coded local paths", "claims that code delivery equals deployment"]
},
"input_schema": {"required": ["capability_manifest", "local_data_root", "requested_operation"], "optional": ["notion_page_or_database_id", "model_adapter", "existing_database"]},
"deterministic_core": {
"steps": ["validate_config_without_printing_secrets", "initialize_versioned_sqlite_schema", "register_tools_from_machine_schemas", "disable_tools_whose_dependencies_are_unavailable", "route_explicit_crud_progress_search_and_read_requests_without_model", "for_semantic_requests_prepare_bounded_context", "run_bounded_tool_loop_when_model_adapter_exists", "persist_user_and_assistant_visible_messages", "stage_memory_candidates_instead_of_auto_accepting", "health_check_database_routes_tools_and_static_assets", "emit_partial_or_verified_receipt"],
"validators": ["NO_SECRET_IN_REMOTE_OR_LOG", "UNIMPLEMENTED_ROUTE_REPORTS_NOT_IMPLEMENTED", "TOOL_ARGUMENT_SCHEMA_VALID", "TOOL_LOOP_BOUNDED", "DATABASE_WRITE_READBACK", "ERRORS_REMAIN_VISIBLE", "CODE_DELIVERY_NOT_DEPLOYMENT"]
},
"optional_semantic": {"mode": "CASCADE", "required_for": [], "candidate_schema": ["intent", "tool_calls", "source_results", "answer", "unknowns"], "prohibited": ["call unregistered tool", "accept memory automatically", "guess quantities without query", "hide tool failure"]},
"persona_judgment": {"required": false, "questions": ["这次只是本地工具操作,还是需要晨星参与创作判断?", "哪些记忆候选真正值得保留?"], "refusal_conditions": ["secret_exposure_risk", "destructive_database_change", "unverified_write_target"]},
"output_schema": {"required": ["operation", "dependency_state", "tool_receipts", "data_readback", "errors", "external_effect"]},
"stop_conditions": ["SECRET_SCOPE_UNKNOWN", "DATABASE_MIGRATION_DESTRUCTIVE", "TOOL_SCHEMA_INVALID", "WRITEBACK_TARGET_UNVERIFIED", "UNREGISTERED_NETWORK_ACTION"],
"experience_writeback": {"root": "HLDP://personal-channel/SYS-JZ/PER-CX001/skills/local-ai-workbench", "case_fields": ["capability", "input", "tool_path", "result", "error", "readback", "correction"], "promotion": "PRIVATE_CANDIDATE_UNTIL_FRESH_LOCAL_END_TO_END_RUN", "never_write_to": ["PER-CX001 self kernel", "team shared skill registry", "marketplace registry"]}
}

View file

@ -0,0 +1,132 @@
{
"schema": "guanghu.personal-channel-skill/v1",
"skill_id": "JZ-CX-NARRATIVE-DECONSTRUCTION-001",
"name": "桔子×晨星·叙事拆解与拆书流水线技能脑",
"version": "0.1.0",
"status": "PRIVATE_TRIAL",
"owner_human_anchor": "TCS-GL-0008∞",
"channel_id": "SYS-JZ",
"custodian_persona_id": "PER-CX001",
"visibility": "PRIVATE",
"share_state": "NOT_AUTHORIZED",
"marketplace_state": "NOT_AUTHORIZED",
"ownership_note": "The method and its compiled skill asset remain inside Juzi's personal channel. Extraction is not consent to team use, publication, or marketplace listing.",
"provenance": {
"evidence_grade": "B_PLUS_WITH_LARGE_OUTPUT_CORPUS",
"primary_sources": [
{"page_id": "ba4ec4ce35c546819c1b242d2922411a", "title": "作品著作权申请·晨星拆书法 V1.0", "role": "owner-authored method specification"},
{"page_id": "6c363d253698426d9485d2df27cb34fa", "title": "auto_dishu.py v5.0·完整结构重建", "role": "version correction and runtime structure"},
{"page_id": "cfa7b375af9c4468be723a0decb8a572", "title": "milestone_checker.py·字数段总结独立脚本", "role": "deterministic milestone trigger and isolated extension"},
{"page_id": "9f6d640b6a36455e8e94e651e03333db", "title": "notion_tools.py·Notion API层", "role": "tool and progress readback implementation"},
{"page_id": "0ea96d1a60e245e0ad1efd66baa70ba1", "title": "tools.py·工具注册+调度", "role": "registered tool dispatch"}
],
"observed_outputs": {
"exported_chapter_analysis_files": 10940,
"counted_at": "2026-08-21",
"meaning": "Strong evidence of repeated pipeline use; not proof that every output is correct."
},
"known_correction": {
"case": "A sampled exported file is titled chapter 68 while its body identifies chapter 66.",
"compiled_rule": "Chapter identity must be verified across source metadata, requested chapter, output title, and body before writeback is accepted."
},
"excluded": [
"晨星身份与关系记忆",
"家庭称呼与人格语气",
"Notion正文全集",
"API密钥与本机绝对配置",
"旧页面中的现实效力自述"
]
},
"input_schema": {
"required": ["work_id", "chapter_id", "source_text", "analysis_goal"],
"optional": ["prior_expectation_inventory", "prior_arc_state", "output_target", "milestone_schedule"]
},
"deterministic_core": {
"steps": [
"validate_source_identity_and_hash",
"bind_work_id_and_chapter_id",
"segment_explicit_chapter_and_scene_boundaries",
"load_prior_expectation_inventory_if_present",
"prepare_scene_analysis_slots",
"validate_required_output_fields",
"reconcile_new_recovered_suspended_expectations",
"calculate_accumulated_length",
"trigger_due_milestones_exactly_once",
"write_to_staging_target",
"read_back_title_body_chapter_hash_and_inventory",
"commit_receipt_or_keep_failed_staging"
],
"validators": [
"SOURCE_TEXT_NON_EMPTY",
"WORK_ID_STABLE",
"REQUESTED_CHAPTER_EQUALS_SOURCE_CHAPTER",
"OUTPUT_TITLE_CHAPTER_EQUALS_BODY_CHAPTER",
"SCENE_BOUNDARIES_NON_OVERLAPPING",
"EXPECTATION_INVENTORY_BALANCED",
"MILESTONE_IDEMPOTENT",
"WRITEBACK_READBACK_MATCH"
],
"no_model_capabilities": [
"file enumeration and ordering",
"chapter identity checks",
"length counting and threshold triggering",
"schema construction",
"expectation inventory state transitions from supplied labels",
"tool dispatch",
"staging, readback, retry, and receipt emission"
]
},
"optional_semantic": {
"mode": "CASCADE",
"required_for": ["scene_functions", "emotion_and_pacing", "hooks_and_conflicts", "transferable_patterns"],
"small_model": ["candidate scene boundaries", "function labels", "hook classification", "entity extraction"],
"large_model": ["motivation analysis", "causal arc interpretation", "counterexample review", "cross-chapter pattern synthesis"],
"candidate_schema": ["claim", "source_spans", "confidence", "unknowns", "alternatives"],
"prohibited": ["invent source events", "change chapter identity", "mark writeback verified", "decide publication"]
},
"persona_judgment": {
"required": true,
"questions": [
"这段分析是否真正服务当前写作目标,而不是只复述剧情?",
"提炼出的规律是否能说明为什么有效、何时失效?",
"哪些审美与情感判断需要保留桔子和晨星自己的选择?",
"这次输出应接受、修改、拒绝还是要求更多原文?"
],
"refusal_conditions": [
"source_identity_conflict",
"insufficient_source_span",
"summary_only_without_scene_evidence",
"pattern_claim_without_counterexample",
"output_would_expose_private_memory"
]
},
"output_schema": {
"required": [
"chapter_function",
"scenes",
"hooks",
"conflict_diagnosis",
"expectation_inventory_delta",
"transferable_patterns",
"source_spans",
"unknowns",
"persona_judgment",
"verification_receipt"
],
"pattern_format": "name + conclusion + source scene + why effective + applicability + counterexample + confidence"
},
"stop_conditions": [
"SOURCE_IDENTITY_CONFLICT",
"CHAPTER_IDENTITY_CONFLICT",
"MISSING_PRIOR_STATE_FOR_CONTINUITY_CLAIM",
"MODEL_OUTPUT_WITHOUT_SOURCE_SPANS",
"WRITEBACK_TARGET_UNVERIFIED",
"PRIVATE_ASSET_RELEASE_REQUESTED_WITHOUT_OWNER_DECISION"
],
"experience_writeback": {
"root": "HLDP://personal-channel/SYS-JZ/PER-CX001/skills/narrative-deconstruction",
"case_fields": ["trigger", "input_hash", "selected_method", "rejected", "output_hash", "readback", "correction", "persona_judgment", "sources"],
"promotion": "CANDIDATE_ONLY_UNTIL_COUNTEREXAMPLE_AND_BLIND_CASE_RETEST",
"never_write_to": ["PER-CX001 self kernel", "team shared skill registry", "marketplace registry"]
}
}