A missing decision path in the Kaspa DAGKnight implementation now has a concrete pull request. On July 27, coderofstuff opened PR #1081 against the dagknight branch, adding the tie-breaking procedure used when several competing subgroups finish the rank search with the same k value. The change is proposed feature-branch code, not a merge into master. (PR #1081)
The existing branch handles that case with a temporary rule. A TODO calls for the paper's full procedure, while the code picks the subgroup with the greatest selected parent, ordered by blue work and then block hash. That produces a deterministic result, but it does not examine why the subgroups tied. (current dagknight branch)
PR #1081 replaces that fallback with a separate DagknightTieBreaker. The first step calculates a reference cluster using free search at g(k) = floor(sqrt(k)). Free search is allowed to maximise the cluster across all parents instead of committing the calculation to one competing subgroup. The result supplies one common blue set against which every tied subgroup can be measured. (reference-cluster implementation)
Each subgroup is then given its own conditioned chain. The virtual block is forced to agree with that subgroup, and the code walks the resulting selected-parent chain back to the conflict genesis. Blocks from the reference cluster become high-rank witnesses when they are concurrent with more than k' blocks on that conditioned chain. (conditioned-chain calculation) (witness calculation)
The highest-ranked witness becomes that subgroup's worst block. The winner is the subgroup whose worst block appears earliest, ordered by blue work and then hash. Instead of resolving equal ranks from the tips alone, the new path compares how far each competing history departs from the same freely calculated reference cluster. (tie-breaking selection)
The implementation is isolated from the wider executor behind a TieBreaker trait. Its unit tests cover free colouring, subgroup-conditioned chains, anticone counts, witness selection and invariance when the input subgroup order is reversed. The PR also adds Criterion benchmarks backed by fixtures for k values 4, 9, 16, 25, 36 and 53. It adds the benchmark harness and data, but does not publish timing results in the pull request. (tests) (benchmarks)
One unfinished point is visible in the code. The function documentation describes Algorithm 4 as checking every k' from floor(k/2) through k, but the current implementation carries a TODO and evaluates only k - 1. The broader range is therefore described but not yet implemented in this revision. (open k' range TODO)
PR #1081 remains open with review required and no submitted reviews. Its initial workflow is also not fully green: the general check and WASM jobs passed, while clippy and the Linux release build failed and the regular test suite was cancelled. (workflow run)
DAGKnight now has a testable replacement for one of its explicit placeholder rules. The mechanism is in public code and wired into equal-rank conflict handling, but it still sits on the dedicated dagknight branch with an incomplete k' range and unresolved review checks. It is implementation progress, not mainnet activation or a hard-fork date.
