affaan-m/ECC · error · Error

is missing the entry

Error message

${pattern.source} is missing the ${pattern.category} entry

What it means

Generic guard in parseAgentsDocExpectations' structurePatterns loop: thrown when the AGENTS.md project-structure block lacks the entry for one category (agents, skills, or commands), e.g. a 'skills/ — N workflow skills' line. The faulting input is the missing project-tree entry named by pattern.category.

Solutions

  1. Re-add the missing agents/skills/commands entry with its count to the AGENTS.md project structure block.
  2. Regenerate the structure counts with the catalog tooling.
  3. Update structurePatterns if the line format (dash style, plus sign for minimums) changed.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at scripts/ci/catalog.js:262 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16). Data as JSON: /api/errors/258ebbe0b3a21b20. Report an issue: GitHub.

Appendix: source

Thrown at scripts/ci/catalog.js:262

    },
    {
      category: 'skills',
      mode: 'minimum',
      regex: /^\s*skills\/\s*[—–-]\s*(\d+)(\+)?\s+workflow skills and domain knowledge\s*$/im,
      source: 'AGENTS.md project structure'
    },
    {
      category: 'commands',
      mode: 'exact',
      regex: /^\s*commands\/\s*[—–-]\s*(\d+)\s+slash commands\s*$/im,
      source: 'AGENTS.md project structure'
    }
  ];

  for (const pattern of structurePatterns) {
    const match = agentsContent.match(pattern.regex);
    if (!match) {
      throw new Error(`${pattern.source} is missing the ${pattern.category} entry`);
    }

    expectations.push({
      category: pattern.category,
      mode: pattern.mode === 'minimum' && match[2] ? 'minimum' : pattern.mode,
      expected: Number(match[1]),
      source: `${pattern.source} (${pattern.category})`
    });
  }

  return expectations;
}

function parseZhAgentsDocExpectations(agentsContent) {
  const summaryMatch = agentsContent.match(/提供\s+(\d+)\s+个专业代理、\s*(\d+)(\+)?\s*项技能、\s*(\d+)\s+条命令/i);
  if (!summaryMatch) {
    throw new Error('docs/zh-CN/AGENTS.md is missing the catalog summary line');
  }

View on GitHub (pinned to 8321021c54)