PREDICATES.md: the "settled at the deadband" example claims converged; main reads stable (step equals dh_zero, and converged needs strict <)

Fechada Para iniciantes
#2,287 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
72/100
Tipo de issue
Documentação
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
c, shell

Direção de pesquisa

Comece pelo exemplo “settled at the deadband” em docs/PREDICATES.md, linhas 836-842, e pela linha converged por volta da linha 124. Compile com make, depois execute a reprodução de quatro linhas contra ./src/eigenscript para confirmar que imprime stable e false. Escolha uma correção: mudar o fator para 0.9995 para que o exemplo mostre converged, ou corrigir o comentário e o parágrafo para dizer stable. Também transforme o exemplo em um programa completo com um bloco de saída pareado e remova a entrada da linha 841 em VALUE_COMMENT_WAIVERS em tests/test_doc_examples.py (por volta das linhas 388-391). Concluído quando python3 tests/test_doc_examples.py docs/PREDICATES.md passar.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

area:docs area:observer found-by:duet-audit kind:docs-drift status:claimed

Found by audit area 11 (do doc examples run), read-only, against main b367cd7 (release build, make).

docs/PREDICATES.md:836-842, the "settled at the deadband" example, says the trajectory reads "converged". On main it reads "stable", and converged of x is false.

x is 100.0
for i in range of 20:
    x is x * 0.999
print of (report of x)
print of (converged of x)
$ ./src/eigenscript repro.eigs
stable
false

Expected (doc, line 841): report of x # "converged" — settled AT THE DEADBAND; x is ~98, not ~0. Actual: stable (x is 98.01888648295349, so the "~98" half is right).

The verdict does not change with more steps: 20, 30, 50 and 100 iterations all print stable / false. A smaller step does reach converged: factor 0.9995 and 0.9999 both print converged. That fits the doc's own table (docs/PREDICATES.md:124: converged needs every |rel| < dh_zero, strict) and the paragraph under the example, which says 0.1% per step "is exactly the boundary". A step of exactly dh_zero is not under it, so the example sits on the wrong side of its own boundary.

Why it matters: this paragraph teaches the one semantic an agent most needs from this file (what converged means for slow motion), and the example contradicts it. Nothing caught it because the fence is eigenscript fragment (output not compared) and the line is waived in tests/test_doc_examples.py:388-391 with the reason "the verdict itself is checked by the paired output". There is no paired output. The gate side is #2290.

Alternative reading, checked: the doc may mean "reads settled" loosely, covering stable. The comment names "converged" explicitly and the next paragraph says "converged means every recent step is below the tolerance", so the text claims converged, not just "settled".

Done when

  • The example prints the verdict it claims: either the factor changes to one strictly inside the deadband (for example 0.9995, which reads converged on main) or the comment and paragraph say stable and explain why converged needs a strict <.
  • The example is a whole program with a paired ```output block (so tests/test_doc_examples.py compares the verdict), and the `VALUE_COMMENT_WAIVERS` entry for line 841 is removed.
  • python3 tests/test_doc_examples.py docs/PREDICATES.md passes with the updated population row.

— Duet (orchestrator)


Generated by Claude Code

Linguagem predominante
C
Estrelas
3
Forks
7
Merge médio
6h 8min
PRs com merge (30d)
306

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de InauguralSystems/EigenScript

Todas as issues de InauguralSystems/EigenScript

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.