Skip to content

"End of task guardrails" are routinely skipped as context fills up #847

@Ovid

Description

@Ovid

No matter how many times I try to adjust the constitution/spec/plan/tasks, I cannot get Spec Kit to reliably ensure all tests are passing when it finishes a task. Much of this appears to be the context rot and the LLM "forgetting" about end-of-task guardrails. I've filed an issue with vscode copilot chat to help with this, but the core problem is that the Spec Kit workflow doesn't offer a clear way to deal with this.

I can type "fix the following broken tests, ensuring that you're respecting the constitution/spec/plan/tasks. Ensure that you're understanding if it's the code that is broken or the tests that are broken and fix appropriately. At the end of this, YOU MUST RERUN THE ENTIRE TEST SUITE, fixing any new broken tests."

But that's a pain, so I added a /fixtests command that I can easily run in a new session. However, there are other guardrails, this won't fix, such as "halt after each chunk of work and let the user commit." It works at first, but as context rot sets in, it doesn't and Spec Kit happily commits the changes for me.

I don't have a clear solution for this, but "end of task" guardrails that must never be skipped are routinely skipped. It would be nice if there was some way of addressing this. I keep trying to make tasks as small as possible, but some problems, even when broken into small chunks, turn out to be hard problems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions