Skip to content

Claude generated feedback#1022

Closed
kroenlein wants to merge 1 commit intorelease/v4.0from
4.0-release-feedback
Closed

Claude generated feedback#1022
kroenlein wants to merge 1 commit intorelease/v4.0from
4.0-release-feedback

Conversation

@kroenlein
Copy link
Copy Markdown
Collaborator

Citrine Python PR

Results of Claude analysis.

  • Errors in documentation
  • Dead test objects

I'm skipping issues it raised around

  • residual typing updates -- I'm assuming those are known & intentional
  • concerns about the test harness -- our mocking strategy has poor guarantees, tautological tests

Sorry about the reformatting noise. Feel free to cherry-pick.

PR Type:

  • Breaking change (fix or feature that would cause existing functionality to change)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Maintenance (non-breaking change to assist developers)

Adherence to team decisions

  • I have added tests for 100% coverage
  • I have written Numpy-style docstrings for every method and class.
  • I have communicated the downstream consequences of the PR to others.
  • I have bumped the version in __version__.py

@kroenlein kroenlein requested a review from a team as a code owner February 24, 2026 18:32
A name is required by all evaluators because it is used as the top-level key
in the results returned by a
:class:`citrine.informatics.workflows.PredictorEvaluationWorkflow`.
:class:`citrine.informatics.executions.predictor_evaluation.PredictorEvaluation`.
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actual issue in this file.

Comment thread tests/utils/factories.py
Comment on lines -520 to -532
class PredictorEvaluationWorkflowFactory(factory.DictFactory):
id = factory.Faker('uuid4')
name = factory.Faker("company")
description = factory.Faker("catch_phrase")
archived = False
evaluators = factory.List([factory.SubFactory(CrossValidationEvaluatorFactory)])
type = "PredictorEvaluationWorkflow"
# TODO Create Trait and status_detail content
status = "SUCCEEDED"
status_description = "READY"
status_detail = []


Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actual issue in this file

Comment thread tests/conftest.py
Comment on lines -875 to -886



@pytest.fixture
def predictor_evaluation_workflow_dict(generic_entity, example_cv_evaluator_dict, example_holdout_evaluator_dict):
ret = deepcopy(generic_entity)
ret.update({
"name": "Example PEW",
"description": "Example PEW for testing",
"evaluators": [example_cv_evaluator_dict, example_holdout_evaluator_dict]
})
return ret
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actual issue in this file

Comment on lines +63 to +65
class CrossValidationEvaluator(
Serializable["CrossValidationEvaluator"], PredictorEvaluator
):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like Claude is breaking on 80 characters, not our setting of 99

Copy link
Copy Markdown
Collaborator

@anoto-moniz anoto-moniz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of its changes in factories and conftest are unhelpful nitpicks (e.g. swapping single quotes for double), some of which make the code less readable, in part by not following our line length of 99 characters.

But it did make some good catches (e.g. AutoMLModel should be AutoMLPredictor), so I'll grab the useful bits of this PR and repackage them.

@anoto-moniz
Copy link
Copy Markdown
Collaborator

I'm going to close this in favor of #1023, which pulls in the key feedback, and ignores the formatting adjustments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants