<?xml version="1.0"?>
<puzzles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://www.0pdd.com/puzzles.xsd" date="2026-06-15T14:58:30+00:00" version="BUILD">
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/78" closed="2026-06-15T14:58:24+00:00">78</issue>
    <ticket>1</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>1-4aa2ddb7</id>
    <lines>23-25</lines>
    <body>Attach wrapped continuation lines to the bullet they belong to, instead of silently dropping their nested indentation context on the floor.</body>
    <file>src/markdown.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/79" closed="2026-06-15T14:57:39+00:00">79</issue>
    <ticket>21</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>21-137033bc</id>
    <lines>20-23</lines>
    <body>Upgrade to a real clause-count check through an AI oracle so that subtle multi-instruction lines, which the conservative heuristic cannot see today, are reliably caught, as requested in issue #21.</body>
    <file>src/rules/atomic.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/80" closed="2026-06-15T14:58:30+00:00">80</issue>
    <ticket>18</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>18-48898557</id>
    <lines>33-35</lines>
    <body>Detect circular import chains and depth above five levels so deeply nested manifesto imports fail with a clear violation, as requested in issue #18.</body>
    <file>src/rules/dead-import.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/81" closed="2026-06-15T14:58:03+00:00">81</issue>
    <ticket>19</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>19-5ef65550</id>
    <lines>19-21</lines>
    <body>Upgrade the trigger check to an AI oracle that judges whether the description truly names the situations and user phrases that should activate the skill, as requested in issue #19.</body>
    <file>src/rules/description-triggers.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/82" closed="2026-06-15T14:57:58+00:00">82</issue>
    <ticket>22</ticket>
    <estimate>30</estimate>
    <role>DEV</role>
    <id>22-f28e8929</id>
    <lines>18-21</lines>
    <body>Upgrade to an AI oracle that catches subtler hedging, such as conditional escape hatches and vague scope, which the fixed blacklist of hedge words cannot detect today, as requested in issue #22.</body>
    <file>src/rules/hedging.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/83" closed="2026-06-15T14:57:53+00:00">83</issue>
    <ticket>24</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>24-096e4af7</id>
    <lines>18-21</lines>
    <body>Upgrade to an AI oracle for accurate passive-voice detection, since the regular-expression heuristic both misses many irregular participles and cannot judge true grammatical voice, as requested in issue #24.</body>
    <file>src/rules/passive.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/84" closed="2026-06-15T14:58:10+00:00">84</issue>
    <ticket>15</ticket>
    <estimate>60</estimate>
    <role>DEV</role>
    <id>15-304809d8</id>
    <lines>49-54</lines>
    <body>Promote the standalone heuristic into a proper AI-oracle check when `OPENAI_API_KEY` is present, so redundancy detection covers paraphrases beyond the curated blacklist below. The hybrid pattern from `src/rules/command.js` is the model: keep the deterministic check as the default, let the oracle catch the rest.</body>
    <file>src/rules/redundant.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/85" closed="2026-06-15T14:57:45+00:00">85</issue>
    <ticket>29</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>29-95ba8ab5</id>
    <lines>18-21</lines>
    <body>Upgrade to true clause-depth analysis through an AI oracle so that subtle tangled instructions, which the comma and conjunction heuristic cannot measure today, are reliably caught, as requested in issue #29.</body>
    <file>src/rules/simple.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
  <puzzle alive="false">
    <issue href="https://github.com/yegor256/dogent/issues/86" closed="2026-06-15T14:58:15+00:00">86</issue>
    <ticket>25</ticket>
    <estimate>45</estimate>
    <role>DEV</role>
    <id>25-b3aeacc9</id>
    <lines>28-30</lines>
    <body>Upgrade to semantic near-duplicate detection through embeddings or an AI oracle, to catch same-meaning different-words pairs the normalizer misses, as requested in issue #25.</body>
    <file>src/rules/unique.js</file>
    <author>@yegor256</author>
    <email>yegor256@gmail.com</email>
    <time>2026-06-15T14:27:19Z</time>
    <children/>
  </puzzle>
</puzzles>
