Skip to content

Fix #2318: ### Pre-submission checklist - #2323

Closed
Memtensor-AI wants to merge 1 commit into
MemTensor:dev-v2.0.33from
Memtensor-AI:bugfix/autodev-2318-20260902004642055
Closed

Fix #2318: ### Pre-submission checklist#2323
Memtensor-AI wants to merge 1 commit into
MemTensor:dev-v2.0.33from
Memtensor-AI:bugfix/autodev-2318-20260902004642055

Conversation

@Memtensor-AI

Copy link
Copy Markdown
Collaborator

Description

Fixes #2318 — L2 induction prompt was silent on conversational-act "actions", so trace clusters whose dominant behaviour was dialogue (ask / confirm / notify / report status) produced policies whose action was that dialogue act, later crystallising into dead skills that no agent could invoke.

Change: extended L2_INDUCTION_PROMPT (apps/memos-local-plugin/core/llm/prompts/l2-induction.ts) with a second boundary subsection symmetric to the existing L3-drift guard. It enumerates the dialogue-verb classes to reject as ACTION templates, shows a wrong/right contrast on the audit's canonical skill-viewing scenario, and offers an explicit {"abstain":true,"reason":"..."} escape hatch for dialogue-only clusters. The existing induce.ts validator already treats a missing-title response as a soft failure — the correct outcome for an abstain. Prompt version bumped 2→3; the 11 op-key fixtures across 4 vitest test files were migrated l2.l2.induction.v2l2.l2.induction.v3 in the same commit.

Verification: TDD-first (new red test in tests/unit/llm/prompts.test.ts pins version=3 + the guardrail language + abstain contract + still-present L3 guard, went green after the prompt edit). Full plugin vitest suite: 183 files, 1558 passed / 2 skipped / 0 failed. Type-check (tsc --noEmit) clean. No runtime code path changes — the fix is prompt-only, cutting the failure at its origin rather than mopping up downstream.

Scope: 6 files touched (1 prompt + 5 test files). .ai-tasks/ and openspec/changes/ remain excluded from the PR per the workflow contract; both were archived to the sibling memos-autodev-specs repo (2026-09-02-2318-pre-submission-checklist/).

Related Issue (Required): Fixes #2318

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (does not change functionality, e.g. code style improvements, linting)
  • Documentation update

How Has This Been Tested?

Not run; documentation-only change.

  • Unit Test
  • Test Script Or Test Steps (please provide)
  • Pipeline Automated API Test (please provide)

Checklist

  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • I have created related documentation issue/PR in MemOS-Docs (if applicable)
  • I have linked the issue to this PR (if applicable)
  • I have mentioned the person who will review this PR

@whipser030, @hijzy please review this PR.

Reviewer Checklist

…t actions (MemTensor#2318)

L2_INDUCTION_PROMPT (v2) had a boundary block that rejected declarative
L3 world-model facts but was silent on a symmetric drift: dialogue acts
(ask/confirm/notify/report status) leaking into the `action` field.
When a trace cluster's dominant behaviour was dialogue, induction
minted policies whose action WAS the dialogue, and those policies
later crystallised into dead skills — retrieved as candidates, never
callable.

Add a second boundary subsection that (a) enumerates the dialogue-verb
classes to reject, (b) shows a wrong/right contrast on the audit's
canonical skill-viewing scenario, and (c) offers an explicit
{"abstain":true,"reason":"..."} escape hatch for the dialogue-only
cluster case. Bump prompt version 2 → 3 and mechanically migrate the
11 op-key fixtures across the vitest suite.

Full plugin suite: 183 files, 1558 passed / 2 skipped. tsc --noEmit
clean.
@Memtensor-AI Memtensor-AI added ai:generated Generated or modified by AI | 由 AI 生成或修改 area:plugin OpenClaw & Hermes status:in-progress Someone or AI is working on it | 人工或 AI 正在处理 labels Sep 2, 2026
@Memtensor-AI

Copy link
Copy Markdown
Collaborator Author

🤖 Open Code Review

Target: PR #2323
Task: 8aa945e8b611eae0
Base: dev-v2.0.33
Head: bugfix/autodev-2318-20260902004642055
Head SHA: ad220efcabb2dbd09f6050335bcabdc72fbc1517

OpenCodeReview: Review complete: 1 finding(s) across 1 selected item(s).


🧹 Filtered 1 low-confidence OCR finding(s) before posting/fix-loop (existing_code_mismatch: 1).

Generated by cloud-assistant via Open Code Review.

@Memtensor-AI

Copy link
Copy Markdown
Collaborator Author

✅ Automated Test Results: PASSED

All tests passed (24/24 executed, 1 skipped). memos_local_plugin/unit: 24 passed, 1 skipped. Duration: 7s [advisory, non-gating] AI-generated tests on branch test/auto-gen-8aa945e8b611eae0-20260902093749: 39/40 passed, 1 failed — these do NOT affect the PR verdict; review the branch manually.

Branch: bugfix/autodev-2318-20260902004642055

@Memtensor-AI Memtensor-AI added status:ready Ready for implementation; waiting for assignee or AI dispatch | 可进入实现,等待认领或派发 and removed status:in-progress Someone or AI is working on it | 人工或 AI 正在处理 labels Sep 2, 2026
@CarltonXiang
CarltonXiang deleted the branch MemTensor:dev-v2.0.33 September 3, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai:generated Generated or modified by AI | 由 AI 生成或修改 area:plugin OpenClaw & Hermes status:ready Ready for implementation; waiting for assignee or AI dispatch | 可进入实现,等待认领或派发

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants