Findings for the core-merge issues¶
Checked on 25 October 2026 against 2.x commit 4239582 (tag 2.1.0-beta2).
#3562924
was Active. Its remaining tasks were still "90%+ Test Coverage" and
"Alpha release", and its API note was the FormObjectBase class.
#3525331 was
Needs work, with 95 comments. Comment #95 (6 March 2026) was still the
latest comment. The benchmark numbers on
Benchmarks were not re-run for this check.
Where #3562924 stands¶
90%+ test coverage is not measured. This machine has no PCOV or Xdebug extension, on host PHP 8.3.30 or in the PHP 8.5 image used for the Drupal 12 run, so PHPUnit could not report line coverage. No percentage is claimed.
What was counted, on this tree:
- 49 concrete classes and 3 abstract classes under
src/Kits. - 38 PHPUnit files under
tests/.CoreVersionRequirementTestchecksformfactorykits.info.yml. The other 37 are kit tests. - The Drupal 12.0.0-beta2 run on 24 October 2026, PHP 8.5.12, PHPUnit
12.5.40, printed
OK (203 tests, 204 assertions). That run is the latest executed suite. It was not repeated for this page. - These concrete classes have no test class:
TableRowKit,TabKit,OptionKit,TaxonomyTermAutoCompleteKit,TaxonomyTermSelectKit,ItemKit,ExampleKit,TemplateKit,UploadValidatorKit,FileSizeUploadValidatorKit,ImageExtensionUploadValidatorKit,ImageResolutionUploadValidatorKit.FileKitTestconstructsFileSizeUploadValidatorKitandImageExtensionUploadValidatorKit.ImageResolutionUploadValidatorKitis imported byFileKitTestandImageKitTestand is not constructed.UploadValidatorKithas no test reference.TextFieldKitandTextAreaKitdo have test classes (TextFieldKitTest,TextAreaKitTest). tests/src/Unit/Kits/Container/Tabs/VerticalTabsKitTest.phpstill hastestCreateTabsWithOtherKits()commented out.- There are still no kernel, functional, or JavaScript tests. Nothing in the repository submits a kit-built form or rebuilds one through AJAX.
There is no alpha tag. git tag -l lists 2.0.0-beta1 through
2.0.0-beta5, 2.1.0-beta1, and 2.1.0-beta2. The issue still asks for
an alpha release. The tags that exist are betas, which are later
pre-releases than an alpha, and the dependency chain is still beta:
composer.json requires drupal/formfactory: ^2.1@beta. A stable release
is still open. See Readiness.
FormObjectBase is in the tree. It is
src/Form/FormObjectBase.php, an abstract subclass of
Drupal\Core\Form\FormBase. That is the API change named on #3562924.
This page does not judge whether core should take that class.
Claims that changed since 4 October 2026¶
Readiness was written against tag 2.1.0-beta1. These
sentences from that pass are now false:
| Earlier claim | What the tree shows now |
|---|---|
KitTestBase overrides final assertEquals(), so the suite does not run |
tests/src/Unit/KitTestBase.php has no assertEquals override. phpunit.xml has no <listeners> block. The 24 October 2026 Drupal 12 run passed. |
$kits->file() throws because FileKit is not imported |
FormFactoryKitsService::file() returns ManagedFileKit::create(...). |
| Four parameters are implicitly nullable | grep -rnE '[(,] *(string\|int\|array) \$[A-Za-z]+ = NULL' src prints nothing. |
Latest tag is 2.1.0-beta1 |
Latest tag is 2.1.0-beta2. |
core_version_requirement stops before Drupal 12, and no Drupal version is tested |
The info file declares ^10.2 \|\| ^11 \|\| ^12. The unit suite has been run on Drupal 12.0.0-beta2. Drupal 10.2 and 11 were not re-run for this check, and there is still no CI. |
getForm() throws if called before append() |
In formfactory 2.1.0-beta3 (0971922), getForm() copies $this->form, which is initialized to []. It does not throw when $kits is empty. |
These claims were checked again and still hold:
grep -rn '&\$' srcprints onlyFormObjectBase::validateForm()andFormObjectBase::submitForm().- formfactory
2.1.0-beta3still has$this->form = &$forminFormFactoryService::load(), andload()still does not clear the service's kit list. - The other bugs in the readiness table (legacy upload-validator keys,
non-idempotent
#parents, nested#parents, getters typed too narrowly,TaxonomyTermAutoCompleteKit::setVocabulary()writing#vid) were not closed by the commits since 4 October 2026. - There is still no
phpstan.neonand no coding-standards run was repeated. The 2,203 phpcs errors figure remains the 4 October 2026 measurement.
Merge path now names the releases this check used:
formfactory 2.1.0-beta3, kits 2.0.0-beta5, query 2.0.0-beta7,
formfactorykits 2.1.0-beta2. The file counts in that table were not
re-counted.
Paste-ready paragraph for #3525331¶
Form Factory Kits 2.1.0-beta2 is the current check against
#3562924.
FormObjectBase is in the module. The unit suite passed on Drupal
12.0.0-beta2 (OK (203 tests, 204 assertions) on 24 October 2026). Line
coverage was not measured, so the issue's "90%+ Test Coverage" task is
still open, and there is no kernel or functional test of form submission
or AJAX. Tags run through 2.1.0-beta2; there is no alpha tag, and
formfactory, kits, and query are still beta. Kits still return a new
render array with no kit objects left in it, and src/ still has no PHP
references except the two FormBase signatures. The reference and the
shared kit list are in formfactory 2.1.0-beta3, not in this module. The
write-up, including which earlier statements are now false, is
docs/core/findings.md on the formfactorykits 2.x branch
(https://git.drupalcode.org/project/formfactorykits/-/blob/2.x/docs/core/findings.md
— that URL is unverified until this commit is pushed).