{"record":{"id":"c41fc303bfbfc936","repo":"affaan-m/ECC","slug":"readme-md-is-missing-the-quick-start-catalog-summary","errorCode":null,"errorMessage":"README.md is missing the quick-start catalog summary","messagePattern":"README\\.md is missing the quick-start catalog summary","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"scripts/ci/catalog.js","lineNumber":95,"sourceCode":"  }\n}\n\nfunction replaceOrThrow(content, regex, replacer, source) {\n  if (!regex.test(content)) {\n    throw new Error(`${source} is missing the expected catalog marker`);\n  }\n\n  return content.replace(regex, replacer);\n}\n\nfunction parseReadmeExpectations(readmeContent) {\n  const expectations = [];\n\n  const quickStartMatch = readmeContent.match(\n    /access to\\s+(\\d+)\\s+agents,\\s+(\\d+)\\s+skills,\\s+and\\s+(\\d+)\\s+(?:commands|legacy command shims?)/i\n  );\n  if (!quickStartMatch) {\n    throw new Error('README.md is missing the quick-start catalog summary');\n  }\n\n  expectations.push(\n    { category: 'agents', mode: 'exact', expected: Number(quickStartMatch[1]), source: 'README.md quick-start summary' },\n    { category: 'skills', mode: 'exact', expected: Number(quickStartMatch[2]), source: 'README.md quick-start summary' },\n    { category: 'commands', mode: 'exact', expected: Number(quickStartMatch[3]), source: 'README.md quick-start summary' }\n  );\n\n  const projectTreeAgentsMatch = readmeContent.match(/^\\|\\s*--\\s*agents\\/\\s*#\\s*(\\d+)\\s+specialized subagents for delegation\\s*$/im);\n  if (!projectTreeAgentsMatch) {\n    throw new Error('README.md project tree is missing the agents count');\n  }\n\n  expectations.push({\n    category: 'agents',\n    mode: 'exact',\n    expected: Number(projectTreeAgentsMatch[1]),\n    source: 'README.md project tree (agents)'","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/affaan-m/ECC/blob/8321021c54d670126ce3b2969d5deb880b4b0c2a/scripts/ci/catalog.js#L77-L113","documentation":"parseReadmeExpectations throws when the English README no longer contains the quick-start sentence pattern 'access to N agents, N skills, and N commands'. It fires when the intro copy is reworded or the count sentence is removed, so no expected agent/skill/command counts can be extracted.","triggerScenarios":"Thrown at scripts/ci/catalog.js:95 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Restore a quick-start sentence in README.md matching the regex, e.g. 'access to 68 agents, 292 skills, and 94 commands'.","Regenerate docs via the catalog write mode instead of hand-editing the summary.","If the phrasing must change, update the quickStartMatch regex to accept the new wording."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8321021c54d670126ce3b2969d5deb880b4b0c2a","analyzedAt":"2026-09-16T10:08:13.343Z","contentChangedAt":"2026-09-16T10:08:13.343Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}