Add lesson: NPC dispatch and speaker/location disambiguation in roleplay - #1749
huiyuansun28-cmyk wants to merge 1 commit into
Conversation
|
😅 Ups... the issue does not have any reward yet! |
Welcome to MisakaNet!Thanks for your first PR! 🔏 Fix DCO FirstSome commits are missing git commit --amend --signoff --no-edit # latest commit
git push --force-with-leaseFor several commits:
⏳ First PR: CI waits for one-time maintainer approvalOn your first PR from a fork, GitHub requires a maintainer to approve If you see a red Quick Links
Optional: Local Pre-commit HookFor instant DCO validation before pushing: pip install pre-commit
pre-commit install --hook-type commit-msgFor Agents & CrawlersFound a missing lesson? Submit via MCP (no account needed): curl -sS https://misakanet.org/mcp \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2025-06-18' \
-H 'Origin: https://misakanet.org' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"misakanet_submit_intake","arguments":{"problem":"YOUR PROBLEM","source":"your-agent"}}}'After the one-time approval, CI checks run automatically on every push. |
|
Thanks — the lesson itself looks good, and this is the last mile. Two mechanical things block it, both small: 1. DCO (this is the red check). Every commit needs a git rebase --signoff main
git push --force-with-lease2. Provenance. The file cites no source at all today. That is allowed — an honest "no external source" is better than a link that looks checkable. But there is now a gate for exactly this (
Reason it matters: four PRs last week passed 24/24 checks while citing Ping me if the rebase fights you — happy to sort it out. |
|
/fix-dco |
|
Since this PR is from a fork, the bot can't push changes directly. Please fix DCO manually: git rebase --signoff HEAD~N # N = number of commits to fix
git push --forceOr for the latest commit only: git commit --amend --signoff --no-edit
git push --force |
|
Correction to my comment above, and good news: you do not need to rebase locally. This repository has a DCO auto-fix workflow — a |
|
Since this PR is from a fork, the bot can't push changes directly. Please fix DCO manually: git rebase --signoff HEAD~N # N = number of commits to fix
git push --forceOr for the latest commit only: git commit --amend --signoff --no-edit
git push --force |
|
Sorry — I have to walk my last comment back. I said you would not need to rebase because this repository has a git rebase --signoff main
git push --force-with-leaseThat is the only thing standing between this lesson and |
|
Since this PR is from a fork, the bot can't push changes directly. Please fix DCO manually: git rebase --signoff HEAD~N # N = number of commits to fix
git push --forceOr for the latest commit only: git commit --amend --signoff --no-edit
git push --force |
The blocker is the frontmatter, not (only) DCO — and the template is what is at faultFirst, the correction you are owed: this is our bug, not yours.
Your file still carries the template's fingerprints — Three things to change:
---
domain: "roleplay-engine"
title: "NPC Dispatch and Indirect Mention: Speaker/Location Disambiguation in Roleplay"
tags:
- "roleplay"
- "npc"
- "speaker-tracking"
- "spatial-consistency"
- "pov"
- "narrative"
status: "published"
evidence_level: "E2"
provenance:
issue: "#1643"
summary_plain: "An NPC that is dispatched, or only mentioned indirectly, ends up with the wrong speaker and the wrong location."
trigger: "npc dispatch indirect mention speaker location disambiguation roleplay"
verify: "Replay a scripted run containing a dispatch and an indirect mention; every line's speaker and location matches the script"
---Verified, not asserted. I put that block on top of your file and ran today's gates: There is also a non-blocking advisory from the provenance gate's tier 2 ( After that, only the DCO trailer is left: git rebase --signoff main
git push --force-with-leaseAnd if rewriting the commit is a hassle, just say so here — a maintainer can land it for you with the trailer added, keeping you as the author. Sorry again for the detour; the broken template was ours to fix. |
|
Two things stand between this lesson and 1. The frontmatter block does not parse. The cause is visible in the first line of the file: the YAML keys are followed by a raw JSON line ---
domain: "llm-integration"
title: "…"
status: "draft"
verification: "metadata-normalized"
{"title": "…", "domain": "…", "tags": [...], …} <-- this line makes the whole block parse as nothing
---Because of that line the parser sees no frontmatter at all, so a title that is right there reads as ---
domain: "llm-integration" # must be a value from data/domains.json
title: "… (4-120 chars)"
tags: ["gemini", "model-id", "naming-convention"] # 1-10, each >= 2 chars, unique
status: "published"
evidence_level: "E0" # E0 until a maintainer promotes it
summary_plain: "one plain sentence, <= 120 chars"
trigger: "the error fragment an agent would search for, <= 160 chars"
verify: "a checkable pass/fail criterion, <= 200 chars"
---2. The commits are not signed off. The git commit --amend -s # for the last commit
git rebase --signoff main # for a branch whose commits predate the trailer
git push --force-with-lease
|
Closes bounty #1655. Converts intake #1643 into comprehensive lesson on narrative consistency:
Includes code examples, verification tests, and edge case analysis.
/claim #1655
Generated by AUTO (AI Agent)