Repository navigation
Conversation
|
Rebased onto current origin/main (944046c). After the rebase go build, go vet and go test ./cmd/... plus the changed packages (docker, reconcile, plugin, pluginname, database, repoqa incl. the docker funnel allowlist, 300-line budget and new panic ratchet) all pass locally. No ratchet loosened; the PR's own funnel allowlist edit stands. The earlier go:test failure was main moving under the ratchet tests. |
944046c to
4e658fa
Compare
|
Rebased onto origin/main (39b7e8a) and force-pushed with lease (head 4e658fa). The rebase had no conflicts. The full suite passes there with |
…up and reserved plugin names (D-0602)
…or doctor and prune legacy @abs/ plugin keys (D-0644)
… group and signal stop (D-0711)
|
Rebased onto current origin/main (head eb00254). The gate failure was a stale-base ratchet count: after the rebase |
Four tech-debt rows, one commit each. D-0164 is not touched (see below).
D-0602: verify-checksums --plugin name grammar
runDBVerifyChecksumsnow callsvalidatePluginFlag, likedb migrate, before it loads the project.bin/common/status, no dots) moved to the new lower-layer packageinternal/pluginname.plugin.ValidateNamedelegates to it.database.validatePluginArgnow uses it too, so the database layer refusesnotify.prev,binandcommonitself. This coversMigrateUp,PendingMigrationsandVerifyChecksums.internal/pluginnameis an L1 package by default, solayers.yamlneeds no change.TestDBVerifyChecksumsRefusesNonPluginNames(cmd), the extendedTestPluginArgRefusedBeforeAnyScan(database), andinternal/pluginnametests.D-0644: @plugins/ keys outside a build
GeneratedState.HandEditedFnresolves the plugin dir from the project env cascade (cascadeValue(root, nil, NSELF_PLUGIN_DIR), else the default). The standalone doctor drift check therefore sees a fragment hand-edited under a dir set only in.env.pruneLegacyPluginKeysnow also drops@abs/keys that lie under the build's plugin dir. Since D-0318 the build no longer writes shared plugin fragments, so these old keys can only go stale. This differs from the row's "re-key to @plugins/": re-keying would keep a hash for a file the build never writes again.PlannedRecordstays pure on the record.TestDoctorDriftPluginDirOnlyInProjectEnv,TestHandEditedFnPluginDirOnlyInProjectEnv(shell unset and shell different),TestPlannedRecordDropsLegacyAbsPluginKeys. All fail without the fix.D-0711: logs -f outside the docker funnel
docker.Streamanddocker.StreamLinesininternal/docker/stream.go. They always forward stdout and stderr, sodeploy --follow | teekeeps its logs. The child runs in its own process group. SIGINT, SIGTERM or a context stop sends SIGTERM to the group (kill after 5s) and is not an error, so Ctrl-C leaves no orphan.deploy_follow.go(the row'sdeploy_run.gosite had already moved there),functions_logs.go,logs_stream.go, and the two logs sites inplugin_logs.go(grep stays a separategrep -Eprocess).dockerBasisTotal107 to 102.logs_stream.gono longer attaches stdin to a follow stream. A group outside the foreground would otherwise get SIGTTIN, andcompose logsdoes not read stdin.logs.gohas nologs -fsite; itscompose ps -qstays allowlisted.D-0589: StartMarks vs a removed container
StartMarksskipserrContainerGone, likeFreshStates. Table testTestStartMarksDropsVanishedContainer(no such object, no such container, other failure) fails before the fix.D-0164: not changed
Blocked, see the report: the lineage part needs P7-LIVE-15, and the row does not name the other dead items.
Commands run
go build ./...,go vetandgofmt -lon the touched packages: clean.GOOS=windows go vet ./internal/docker: clean.go test ./cmd/commands ./internal/docker ./internal/repoqa ./internal/reconcile ./internal/database ./internal/plugin ./internal/pluginname -count=1: 5834 passed.