# Asr3601 Fix Closeout Reporter

> Close out ASR3601/ASR3602/Crane SDK/LVGL children-watch firmware fixes after code changes or triage decisions are complete, or aggregate explicit validation debt across Obsidian fix-pattern notes. Use when the user asks “修复完了吗”, “改了什么”, “怎么验证”, “收工更新”, “这个怎么写解决说明”, “禅道标记解决”, “还有哪些没验证”, “待真机”, “验证债务”, “待回归”, or “发布前验收清单”. Produce a Chinese delivery report with variant fingerprint, verification lay…

- **Type:** Skill
- **Install:** `agentstack add skill-xialangji-debug-codex-skills-agentmd-obsidian-asr3601-fix-closeout-reporter`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [xialangji-debug](https://agentstack.voostack.com/s/xialangji-debug)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [xialangji-debug](https://github.com/xialangji-debug)
- **Source:** https://github.com/xialangji-debug/codex-skills-agentmd-obsidian/tree/main/skills/asr3601-fix-closeout-reporter

## Install

```sh
agentstack add skill-xialangji-debug-codex-skills-agentmd-obsidian-asr3601-fix-closeout-reporter
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# ASR3601 Fix Closeout Reporter

Use this skill after a fix, port, or completed triage decision. Its job is to turn code work into a deliverable result: verification evidence, Chinese closeout report, memory decision, and optional Zentao resolution wording.

## Role Boundary

- Use `asr3601-bug-intake-orchestrator` or `asr3601-lvgl-firmware-triage` when the bug has not been investigated or fixed yet.
- Use `asr3601-cross-branch-porting` when the remaining work is source-target migration.
- Use `asr3601-fix-verifier` for raw verification checks; this skill consumes those checks and writes the final report.
- Use `asr3601-project-onboard` before closeout when `.codex-project/variant.md` is missing or no longer matches the live checkout.
- Use `obsidian-fix-pattern-memory` only when the fix is reusable across branches, versions, or similar projects.
- Use `zentao-bug-resolver` only when the user explicitly asks to submit or mark selected Zentao bugs resolved. Otherwise, produce a preview/草稿 only.
- Zentao development closeout stops at resolving the bug: set the bug to `已解决` with resolution `已解决` and a Chinese note.
  Do not click `关闭` from the development side; final closure belongs to test/QA unless the user explicitly says the tester has verified and asks Codex to close it.

Never revert unrelated local changes. If the worktree is dirty, distinguish known fix files from unrelated user changes when possible.

## Closeout Workflow

1. Load the canonical project fingerprint from `/.codex-project/variant.md`.
   - Require: repo, branch, commit, dirty worktree, `yl_device_ver`, CHIP_ID, TARGET_OS, PS_MODE, protocol, customer/product variant, build command, and Zentao project/mapping.
   - Compare repo, branch, commit, dirty worktree, and `yl_device_ver` with the live checkout.
   - If the file is missing, required fields are absent, or live values differ, enter `asr3601-project-onboard`, refresh the fingerprint, then reread it before verification or reporting.
   - Do not reuse build, protocol, customer, or Zentao assumptions from a stale fingerprint.
2. Confirm context:
   - bug ID/title if present
   - canonical variant fields: repo, branch, commit, dirty, `yl_device_ver`, chip, OS, PS_MODE, protocol, customer, build, and Zentao mapping
   - target product/variant: standard watch, sport watch, phone, simulator, C10 乐智, C10 公版, 360x, LT52, AKQ, or unknown
   - user goal: report only, verify, aggregate validation debt, memory update, Zentao resolution draft, or actual Zentao submit
3. Run non-destructive checks:
   - `git status --short`
   - `git branch --show-current`
   - `git rev-parse --short HEAD`
   - `git diff --name-status`
   - `git diff --stat`
   - `git diff --check`
   - targeted `rg` checks for changed symbols, UI text, protocol fields, resource IDs, or guard conditions
   - the narrowest known build or syntax check
4. Prefer the helper script for a compact snapshot:

```powershell
python C:\Users\84365\.codex\skills\asr3601-fix-closeout-reporter\scripts\closeout_snapshot.py `
  --repo D:\XM\360x_202403r1 `
  --rg "changed_symbol_or_protocol_field" `
  --build-command "ninja -C out/product/craneg_modem_watch lv_watch"
```

5. If a deeper verification run is needed, use `asr3601-fix-verifier` and include its result in the final closeout.
6. Decide memory:
   - Write/update `Codex\fix-patterns\` through `obsidian-fix-pattern-memory` when the fix is a reusable pattern, regression, cross-branch port, protocol mismatch, or hard-won project lesson.
   - Do not write memory for one-off wording, temporary local setup, unsupported experiments, or fixes without verified reusable value.
   - When a selected reusable note is supported by explicit target evidence, use `memory_trust.py verify` to record `已验证`, branch, commit, and evidence. A build alone must not claim device/platform verification.
   - When a bug linked to an old fix-pattern is reactivated, use `memory_trust.py reactivate` to set that note to `待复核` before proposing reuse. Do not erase the historical fix.
7. Prepare Zentao wording:
   - For code-fixed bugs, choose `已解决/fixed` and write a concise resolution note only if useful.
   - For platform/backend/app/test-environment issues, choose `外部原因/external` and include the evidence.
   - Do not submit to Zentao unless the user explicitly asks or approves the preview.
   - After submitting a code-fixed bug, leave it in `已解决`. Do not close it unless the request explicitly asks for QA/test closure.
   - For selected bugs that should be submitted in Zentao, enter `zentao-bug-resolver` and use the current branch as `resolvedBuild` for current APP协议/branch fixes.
   - If a fixed bug was mistakenly closed, use the resolver's `--activate-closed` flow: reactivate first, then resolve as `已解决`; never click `关闭` from development.

## Validation Debt Mode

When the user asks “还有哪些没验证”, “待真机”, “验证债务”, “待回归”, or “发布前验收清单”, run:

```powershell
python C:\Users\84365\.codex\skills\asr3601-fix-closeout-reporter\scripts\validation_debt_report.py `
  --fix-patterns C:\Users\84365\Documents\Obsidian\CodexVault\Codex\fix-patterns
```

- Keep the default run read-only.
- Treat only the last explicit `验证状态` or `验证结论` field in each note as authoritative. Do not reopen a closed item because its body contains historical “待真机” instructions.
- Report project, branch, commit, passed verification gates, remaining work, priority, next action, and source note.
- Keep verification layers distinct: static/object checks, full build/package, release, device regression, and platform/protocol logs.
- Never upgrade a note to “已验证”, resolve/close Zentao, or infer QA completion from a build pass.
- To create a standalone draft for human review, pass `--open-loops-draft `. This writes only the requested draft and does not edit `open-loops.md`.
- After reviewing current evidence, manually sync only explicit live debts into `Codex/agent/open-loops.md`; remove or mark items complete when their authoritative status becomes verified.

## Required Report Shape

Write concise Chinese. Include these fields unless irrelevant:

```text
变体指纹：
  repo：
  branch / commit / dirty：
  yl_device_ver：
  CHIP_ID / TARGET_OS / PS_MODE：
  协议 / 客户产品：
  构建命令：
  禅道映射：
问题：
根因：
修改：
影响范围：
验证：
风险：
未覆盖项：
记忆库：
禅道解决说明：
```

For `验证`, include command names and results, not just “已验证”. If a build cannot be run, state exactly why and which weaker checks passed.

For `修改`, summarize both files and behavior:

```text
修改文件：
- path/to/file.c：行为变化
```

For `风险`, call out variant and platform boundaries:

```text
标准版：
运动版：
phone/simulator：
APP/小程序/YL/AKQ/平台：
```

## Zentao Preview Shape

When the user asks “这个怎么写解决说明” or “禅道标记解决”, first produce a preview:

```text
建议解决方式：已解决 / 外部原因
resolvedBuild：trunk / 具体版本 / 留空
assignTo：self
解决说明：
...
是否需要提交：等待用户确认
```

After the user confirms submission, enter `zentao-bug-resolver`.

For current-branch firmware fixes, the submit command normally includes:

```powershell
node "$env:USERPROFILE\.codex\skills\zentao-bug-resolver\scripts\zentao_bug_resolver.js" --repo . --plan ".codex\zentao-resolve-plan.md" --build-current-branch --activate-closed --submit
```

## Helper Script

`scripts/closeout_snapshot.py` prints a Markdown snapshot with canonical variant context, live Git state, changed files, diff check, optional searches, optional build output, and a report template. It is read-only except for build commands passed by the caller.

`scripts/validation_debt_report.py` scans explicit verification-state fields in `Codex/fix-patterns`, excludes closed history, and prints a prioritized Markdown debt report. It is read-only unless `--open-loops-draft` is explicitly supplied.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [xialangji-debug](https://github.com/xialangji-debug)
- **Source:** [xialangji-debug/codex-skills-agentmd-obsidian](https://github.com/xialangji-debug/codex-skills-agentmd-obsidian)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-xialangji-debug-codex-skills-agentmd-obsidian-asr3601-fix-closeout-reporter
- Seller: https://agentstack.voostack.com/s/xialangji-debug
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
